11.26

四、核心功能开发(按模块逐步实现)
模块 1:数据库工具类(util 层,确保数据库连接)
创建com.student.daily.util.DBUtil.java,封装数据库连接与关闭操作,避免重复代码:
java
运行
package com.student.daily.util;

import java.sql.*;

/**

  • 数据库工具类

  • 班级:2023级XX班

  • 作者:XXX

  • 学号:2023XXXX

  • 日期:2024-12-27
    */
    public class DBUtil {
    // 数据库连接信息(需替换为自己的MySQL用户名和密码)
    private static final String URL = "jdbc:mysql://localhost:3306/daily_summary_db?useSSL=false&serverTimezone=UTC";
    private static final String USER = "root";
    private static final String PASSWORD = "你的MySQL密码";

    // 加载驱动(静态代码块,仅执行一次)
    static {
    try {
    Class.forName("com.mysql.cj.jdbc.Driver");
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    throw new RuntimeException("MySQL驱动加载失败!");
    }
    }

    // 获取数据库连接
    public static Connection getConnection() {
    try {
    return DriverManager.getConnection(URL, USER, PASSWORD);
    } catch (SQLException e) {
    e.printStackTrace();
    throw new RuntimeException("数据库连接失败!");
    }
    }

    // 关闭资源(ResultSet、PreparedStatement、Connection)
    public static void close(ResultSet rs, PreparedStatement pstmt, Connection conn) {
    try {
    if (rs != null) rs.close();
    if (pstmt != null) pstmt.close();
    if (conn != null) conn.close();
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }
    }
    模块 2:实体类(entity 层,映射数据库表)
    以User(人员信息)和DailyReport(日报信息)为例,创建实体类(使用 lombok 可简化 getter/setter,若未使用则手动编写):

  1. User.java
    java
    运行
    package com.student.daily.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**

  • 人员实体类(对应t_user表)
  • 班级:2023级XX班
  • 作者:XXX
  • 学号:2023XXXX
  • 日期:2024-12-27
    */
    @Data // 自动生成getter、setter、toString等方法
    @NoArgsConstructor // 无参构造
    @AllArgsConstructor // 全参构造
    public class User {
    private String userId; // 人员ID(学号/工号)
    private String userName; // 姓名
    private Integer userCategory;// 人员类别(0学生/1小组长/2教师)
    private Integer groupNo; // 组号
    }
  1. DailyReport.java
    java
    运行
    package com.student.daily.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**

  • 日报实体类(对应t_daily_report表)
  • 班级:2023级XX班
  • 作者:XXX
  • 学号:2023XXXX
  • 日期:2024-12-27
    */
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public class DailyReport {
    private Integer id; // 日报编号
    private String publishdate; // 发表时间(20241227)
    private String stuno; // 学号
    private String name; // 姓名
    private Integer spenttime; // 所花时间(小时)
    private Integer codeamount; // 代码量(行)
    private Integer blogsnumber; // 博客量(篇)
    private String knowledgepoints; // 知识点
    private String state; // 状态(待审批/通过/评分/退回)
    private Integer dailyscore; // 评分
    private String statereason; // 评语
    }
posted @ 2025-11-30 22:33  muyuxiaxing  阅读(0)  评论(0)    收藏  举报