hibernate是一个持久层框架,跟Mybatis和ibatis是属于一个类型的框架,都是跟数据库进行表关系映射,使用java代码来直接操作表的,下面来介绍hibernate的简单使用,这里没有雨spring框架进行集成,与spring的集成会稍后发。
1:首先获取hibernate框架的jar包,这里我是使用的maven来获取的,使用的是比较新的版本(5.1.0),我把mysql的驱动也加了进来,为了后面连接mysql数据库进行测试
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.1.0.Final</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.39</version>
</dependency>
2:进行建表(cousterm表)
3:与表建议对应的实体类(Cousterm类 一般与表名起一样的名字)
4:表与实体类之间建立对应的关系(Cousterm.hbm.xml 与实体的名字一样,后缀是hbm.xml)
5:与数据库的连接的配置(这个配置文件放置到src下,名字也是固定的 hibernate.cfg.xml)
6:具体的操作
package com.test;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;
import com.domin.Cousterm;
public class FirstHibernate {
//插入数据
@Test
public void addTest(){
//1.获取配置文件
Configuration cfg = new Configuration().configure();
//2.获取seesionFactory
SessionFactory sessionFactory = cfg.buildSessionFactory();
//3.获取session对象
Session session = sessionFactory.openSession();
//4.开启事物
Transaction t = session.beginTransaction();
//5.session 的具体操作
Cousterm c = new Cousterm(0, "鹏", 20, "zhengzhou");
session.save(c);
System.out.println(c);
//6.提交事物
t.commit();
//7.释放资源
session.close();
sessionFactory.close();
}
//查询数据
@Test
public void queryTest(){
//1.获取配置文件
Configuration cfg = new Configuration().configure();
//2.获取seesionFactory
SessionFactory sessionFactory = cfg.buildSessionFactory();
//3.获取session对象
Session session = sessionFactory.openSession();
//4.开启事物
Transaction t = session.beginTransaction();
//5.session 的具体操作
Cousterm c = session.get(Cousterm.class, 1);
System.out.println(c);
//6.提交事物
t.commit();
//7.释放资源
session.close();
sessionFactory.close();
}
}
这里是使用的java代码直接运行的,没有与其他的框架集成的,目的是为了要看清hibernate的实现原理,实现流程
注意:如果需要跟多个数据库交互,可以在hibernate.cfg.xml里面多配置几个session-factory的