hibernate-1

来源:互联网 发布:免费费用报销软件 编辑:程序博客网 时间:2024/06/03 15:57

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的

原创粉丝点击