有事没事领个红包

hibernate开发流程

 

 

开发流程,注意:每个hibernate版本在集成的时候是不太一样的。本次使用的是hibernate-distribution-3.6.10.Final-dist

一、开发流程

1)在数据库中创建表,代码如下:

CREATE TABLE USER(
id INT PRIMARY KEY AUTO_INCREMENT,
uName VARCHAR(50) NOT NULL,
uGender CHAR(2),
uBirthday DATE);

 

2)在工程中创建实体类

复制代码
public class User {
    private int id;
    private String uName;
    private String uGender;
    private Date uBirthday;
    
    public User() {
        // TODO Auto-generated constructor stub
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getuName() {
        return uName;
    }

    public void setuName(String uName) {
        this.uName = uName;
    }

    public String getuGender() {
        return uGender;
    }

    public void setuGender(String uGender) {
        this.uGender = uGender;
    }

    public Date getuBirthday() {
        return uBirthday;
    }

    public void setuBirthday(Date uBirthday) {
        this.uBirthday = uBirthday;
    }
复制代码

 

3)创建对象和表的映射文件,*.hbm.xml。User.hbm.xml

复制代码
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">


<hibernate-mapping 
    package="com.huitong.entity">
    
    <class name="User" table="user">
        
        <id name="id" column="id">
            <generator class="native"/>
        </id>
        
        <property name="uName" column="uName"></property>
        <property name="uGender" column="uGender"></property>
        <property name="uBirthday" column="uBirthday"></property>

    </class>
</hibernate-mapping>
复制代码

 

4)hibernate的配置文件,放在src/目录下。hibernate.cfg.xml.

包含两部分

  • 数据库连接配置
  • 加载映射文件
复制代码
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
    <session-factory>
        <!-- 配置数据库连接 -->
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql:///day17?useSSL=true</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">root</property>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
        
        <property name="hibernate.show_sql">true</property>
        
        <!-- 加载映射文件 -->
        <mapping resource="com/huitong/entity/User.hbm.xml"/>
    </session-factory>
</hibernate-configuration>
复制代码

小技巧:在myeclipse中要将多个jar文件配置到classpath中:

<1>首先点中第一个jar包

<2>shift+点击最后一个jar文件,选中所有jar文件

 

 5)简单测试

复制代码
    public void fun1(){
        User user = new User();
        user.setuName("good");
        user.setuBirthday(new Date());
        
        Configuration configuration = new Configuration();
        configuration.configure();
        
        SessionFactory sf = configuration.buildSessionFactory();
        Session session = sf.openSession();
        
        Transaction bt = session.beginTransaction();
        session.save(user);
        bt.commit();
        
        session.close();
        sf.close();
        
    }
复制代码

 

5)当有多个配置文件时,使用include进行包含

<include file="com/baidu/action/AdminConfig.xml"></include>

 

posted @   crazyCodeLove  阅读(1597)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2016-04-17 读书笔记3数组的一些常用函数
点击右上角即可分享
微信分享提示