12.25

工程质量检测系统 - 项目创建到数据库初始化全流程(按 “下一步” 推进)
第一步:在 IDEA 中创建 Maven Web 项目
打开 IDEA → 点击「File」→「New」→「Project」;
选择「Maven」→ 勾选「Create from archetype」→ 选择「org.apache.maven.archetypes:maven-archetype-webapp」;
填写项目信息:
GroupId:com.company
ArtifactId:EngineeringQualityDetectionSystem
Version:1.0-SNAPSHOT
点击「Next」→ 确认 Maven 配置 → 点击「Finish」,等待项目初始化完成。第二步:完成 Maven Web 项目创建
确认Archetype已选择org.apache.maven.archetypes:maven-archetype-webapp;
点击界面右下角的「创建 (C)」按钮,等待 IDEA 下载依赖并初始化项目(首次创建需等待 1-2 分钟)。
下一步操作:第三步:补充项目目录结构(项目初始化后)
项目创建完成后,默认目录不完整,需手动创建以下文件夹(右键src/main → 「New」→「Directory」):
java:存放后端 Java 代码(包路径:com/company/detection);
resources:存放配置文件(可选);
在webapp下创建子目录:client、inspector、manager、director(对应各角色前端页面)。
最终目录结构应如下:
plaintext
EngineeringQualityDetectionSystem/
├── src/
│ ├── main/
│ │ ├── java/ # 后端代码
│ │ │ └── com/company/detection/
│ │ │ ├── controller/ # Servlet
│ │ │ ├── dao/ # 数据访问接口
│ │ │ ├── entity/ # 实体类
│ │ │ ├── service/ # 业务逻辑
│ │ │ └── util/ # 工具类
│ │ ├── resources/ # 配置文件
│ │ └── webapp/ # 前端页面
│ │ ├── client/ # 委托客户页面
│ │ ├── inspector/ # 检测员页面
│ │ ├── manager/ # 项目经理页面
│ │ ├── director/ # 总监页面
│ │ └── WEB-INF/
└── pom.xml这是 IDEA 中TaskDaoImpl.java的代码报错场景,核心问题是 **Task实体类的方法未定义 **(如getId、setCommitDate等),导致代码无法解析这些方法。以下是问题分析与解决步骤:
一、错误原因
TaskDaoImpl中调用了Task类的setId、getCommitDate等方法,但Task实体类并未定义这些方法(或方法名、字段名不匹配)。
二、解决步骤

  1. 检查Task实体类的定义
    打开com.company.detection.entity.Task类,确保其包含以下字段及对应的get/set方法(可通过 Lombok 的@Data注解自动生成):
    java
    运行
    package com.company.detection.entity;

import lombok.Data;
import java.util.Date;

@Data // Lombok自动生成get/set、toString等方法
public class Task {
private String id; // 任务编号
private String commitDate; // 委托时间
private String clientName; // 委托单位
private String itemName; // 项目名称
private String itemContent; // 项目内容
private String classType; // 检测类别
private String method; // 检测方法
private String sampleName; // 样品名称
private Double dryDensity; // 干密度
private Double moistDensity; // 湿密度
private String state; // 任务状态
private Date operatingTime; // 操作时间
private String inspectorId; // 检测员ID
private String manageId; // 项目经理ID
private String rejectReason; // 退回意见
}
2. 验证方法名与字段名匹配
确保TaskDaoImpl中调用的方法名与Task类的字段对应:
例如:task.setCommitDate(rs.getString("commit_date"))对应Task类的commitDate字段;
若数据库字段是commit_date(下划线),Task类字段用commitDate(小驼峰)是符合规范的,无需修改。
3. 重新编译项目
完成Task类的修正后,右键项目 → 「Recompile」,或按Ctrl+F9重新编译,报错会自动消失。
三、关键说明
Lombok 的@Data注解可以自动生成所有字段的get/set方法,若未使用 Lombok,则需手动为每个字段编写get/set方法(例如:public String getId() { return id; }、public void setId(String id) { this.id = id; })。

posted @ 2026-01-14 19:59  muyuxiaxing  阅读(1)  评论(0)    收藏  举报