开发记录(第一天)
第一天:
先做一个数据库表和基本的增删改查
设计“A1 评估基本信息表”的实体类。
设置数据库连接。
实现基本的数据库创建、读取、更新、删除操作
// AssessmentInfo.java - 实体类
package com.example.assessment;
import javax.persistence.*;
import java.util.Date;
@Entity
@Table(name = "assessment_info")
public class AssessmentInfo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "assessment_id", unique = true, nullable = false, length = 8)
private String assessmentId;
@Column(name = "assessment_date", nullable = false)
private Date assessmentDate;
@Enumerated(EnumType.STRING)
@Column(name = "assessment_reason", nullable = false)
private AssessmentReason assessmentReason;
// ... 其他字段及其getter/setter方法
// 枚举类型,表示评估原因
public enum AssessmentReason {
INITIAL_BEFORE_SERVICE,
REGULAR_AFTER_SERVICE,
IMMEDIATE_CHANGE,
REVIEW_DUE_TO_DOUBT
}
// ... getter和setter方法
}
// HibernateUtil.java - Hibernate配置类(简化版)
package com.example.util;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
sessionFactory = new Configuration().configure().buildSessionFactory();
} catch (Throwable ex) {
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
// Main.java - 主类,用于测试CRUD操作
package com.example.assessment;
import com.example.util.HibernateUtil;
import org.hibernate.Session;
import org.hibernate.Transaction;
import java.util.Date;
public class Main {
public static void main(String[] args) {
Session session = HibernateUtil.getSessionFactory().openSession();
Transaction transaction = null;
try {
transaction = session.beginTransaction();
// 创建新的评估记录
AssessmentInfo assessmentInfo = new AssessmentInfo();
assessmentInfo.setAssessmentId("20250001");
assessmentInfo.setAssessmentDate(new Date());
assessmentInfo.setAssessmentReason(AssessmentInfo.AssessmentReason.INITIAL_BEFORE_SERVICE);
// ... 设置其他字段
session.save(assessmentInfo);
transaction.commit();
System.out.println("Assessment record saved successfully!");
} catch (Exception e) {
if (transaction != null) {
transaction.rollback();
}
e.printStackTrace();
} finally {
session.close();
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端