新建java项目hibernate
在hibernate项目下,新建文件夹lib,并添加jar包
新建数据库hibernate
新建表user
新建domain包,封装类
User.java
- package www.hbsi.com.domain;
- import java.sql.Date;
- public class User {
- private int id;
- private String name;
- private Date birthday;
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public Date getBirthday() {
- return birthday;
- }
- public void setBirthday(Date birthday) {
- this.birthday = birthday;
- }
- @Override
- public String toString() {
- return "User [birthday=" + birthday + ", id=" + id + ", name=" + name
- + "]";
- }
- }
创建配置文件
Hibernate.cfg.xml
- <!DOCTYPE hibernate-configuration PUBLIC
- "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
- <!-- 根标签,根元素 -->
- <hibernate-configuration>
- <!-- session工厂 -->
- <session-factory>
- <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
- <property name="connection.url">jdbc:mysql:///hibernate</property>
- <property name="connection.username">root</property>
- <property name="connection.password">123456</property>
- <!-- 方言,连接的哪个数据库 -->
- <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
- <!-- 执行的时候是否输出sql句 -->
- <property name="show_sql">true</property>
- <!-- 数据定义语言 -->
- <property name="hbm2ddl.auto">update</property>
- </session-factory>
- </hibernate-configuration>
持久化类的映射文件
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 package="com.hbsi.domain">
- <!-- 主键 -->
- <class name="User" >
- <id name="id">
- <generator class="increment" />
- </id>
- <!-- 属性 -->
- <property name="name" />
- <property name="birthday" />
- </class>
- </hibernate-mapping>
让hibernate.cfg.xml知道持久化类,修改hibernate.cfg.xml
hibernate.cfg.xml
- <!DOCTYPE hibernate-configuration PUBLIC
- "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
- "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
- <!-- 根标签,根元素 -->
- <hibernate-configuration>
- <!-- session工厂 -->
- <session-factory>
- <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
- <property name="connection.url">jdbc:mysql:///hibernate</property>
- <property name="connection.username">root</property>
- <property name="connection.password">123456</property>
- <!-- 方言,连接的哪个数据库 -->
- <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
- <!-- 执行的时候是否输出sql句 -->
- <property name="show_sql">true</property>
- <!-- 数据定义语言 -->
- <property name="hbm2ddl.auto">update</property>
- <!-- 加载持久化类文件 -->
- <mapping resource="www/hbsi/com/domain/User.hbm.xml"/>
- </session-factory>
- </hibernate-configuration>
做一个测试类
Demo1.java
- package www.hbsi.com.demo;
- import java.util.Date;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import org.hibernate.cfg.Configuration;
- import www.hbsi.com.domain.User;
- public class Demo1 {
- public static void main(String args[]){
- User user = new User();
- user.setName("Nacy");
- user.setBirthday(new Date());
- //新建一个配置对象,通过此对象加载hibernate.cfg.xml信息
- Configuration cfg = new Configuration().configure();
- //创建session工厂
- SessionFactory sessionFactory = cfg.buildSessionFactory();
- //得到session对象 相当于JDBC的Connection
- Session session = sessionFactory.openSession();
- //hibernate下要开启事务进行保存
- session.beginTransaction();
- //保存
- session.save(user);
- //提交事务
- session.getTransaction().commit();
- //关闭事务
- session.close();
- }
- }