Hibernate之一环境搭建

时间:2022-07-17 22:39:02
1 、新建 java 项目  

2、创建User Library,加入如下jar 

   *HIBERNATE_HOME/hibernate3.jar 
   *HIBERNATE_HOME/lib/*.jar 
   *MySql jdbc驱动 


3、创建hibernate配置文件hibernate.cfg.xml,为了便于调试最好加入log4j配置文件 


4、定义实体类 


5、定义User类的映射文件User.hbm.xml 


6、开发客户端(编写测试类) 

hibernate.cfg.xml 

<?xml version='1.0' encoding='UTF-8'?> 
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- 方言 -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 数据库连接 -->
<property name="connection.url">jdbc:mysql://localhost:3306/数据库名称</property>
<!-- 数据库连接用户名 -->
<property name="connection.username">root</property>
<!-- 数据库连接密码 -->
<property name="connection.password">root</property>
<!-- 数据库驱动 -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- 打印SQL语句 -->
<property name="show_sql">true</property>
<!-- 自动建表 -->
<property name="hibernate.hbm2ddl.auto">update</property>
<!-- 映射文件 -->
<mapping resource="com/tgb/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>

实体类 User.java 
package com.tgb.hibernate; 

import java.util.Date;

public class User {

private String id;
private String name;
private String password;
private Date createTime;
private Date expireTime;

public String getId() {
return id;
}

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

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public Date getCreateTime() {
return createTime;
}

public void setCreateTime(Date createTime) {
this.createTime = createTime;
}

public Date getExpireTime() {
return expireTime;
}

public void setExpireTime(Date expireTime) {
this.expireTime = expireTime;
}
}
映射文件 User.hbm.xml 
<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.tgb.hibernate.User">
<id name="id">
<generator class="uuid"/>
</id>
<property name="name"/>
<property name="password"/>
<property name="createTime"/>
<property name="expireTime"/>
</class>
</hibernate-mapping>
编写测试类 Client.java 
package com.tgb.hibernate; 

import java.util.Date;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class Client {

public static void main(String[] args) {

//读取hibernate.cfg.xml文件
Configuration cfg = new Configuration().configure();

//创建SessionFactory
SessionFactory factory = cfg.buildSessionFactory();

Session session = null;
try {
session = factory.openSession();

//开启事务
session.beginTransaction();

User user = new User();
user.setName("张三");
user.setPassword("123");
user.setCreateTime(new Date());
user.setExpireTime(new Date());

//保存数据
session.save(user);

//提交事务
session.getTransaction().commit();
}catch(Exception e) {
e.printStackTrace();
//回滚事务
session.getTransaction().rollback();
}finally {
if (session != null) {
if (session.isOpen()) {
//关闭session
session.close();
}
}
}
}
}