开发记录(第一天)
第一天:
先做一个数据库表和基本的增删改查
设计“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();
}
}
}

浙公网安备 33010602011771号