12.11
三、核心代码实现(全量可复用,含注释)
- 工具类:DBUtil.java(数据库连接)
java
运行
package com.company.detection.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
-
数据库连接工具类
-
考试要求:确保数据库连接正常(2分)
*/
public class DBUtil {
// 数据库驱动(MySQL8.0+专用)
private static final String DRIVER = "com.mysql.cj.jdbc.Driver";
// 数据库URL(替换为本地数据库名和密码)
private static final String URL = "jdbc:mysql://localhost:3306/engineering_detection_db?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true";
private static final String USER = "root"; // 本地MySQL用户名
private static final String PASSWORD = "123456"; // 本地MySQL密码// 静态代码块:加载驱动
static {
try {
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
e.printStackTrace();
throw new RuntimeException("数据库驱动加载失败!");
}
}/**
- 获取数据库连接
*/
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(URL, USER, PASSWORD);
}
/**
- 关闭数据库资源
*/
public static void close(ResultSet rs, PreparedStatement pstmt, Connection conn) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
/**
- 重载:无ResultSet时关闭资源
*/
public static void close(PreparedStatement pstmt, Connection conn) {
close(null, pstmt, conn);
}
}
- 获取数据库连接
- 实体类(对应数据库表)
(1)User.java(人员实体)
java
运行
package com.company.detection.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
- 人员实体类:映射t_user表
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private String userId; // 人员ID(8位)
private String userName; // 姓名
private String userPwd; // 密码
private Integer userCategory; // 人员类别(0=检测员,1=经理,2=总监)
private Integer groupNo; // 组号
private Date createTime; // 创建时间
}
(2)Task.java(任务实体)
java
运行
package com.company.detection.entity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
- 任务实体类:映射t_task表
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Task {
private String id; // 任务编号(XT-YYYY-XXXXX)
private String commitDate; // 委托时间(YYYYMMDD)
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; // 退回意见
}

浙公网安备 33010602011771号