开发记录(第一天)

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

}

posted @   一只虎鲸  阅读(1)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示