Hibernate简介:
Hibernate是一个开源对象关联关系映射的框架,他对JDBC做了轻量级的封装,使我们可以通过面向对象的思想操作数据库。
为什么要用Hibernate:
1: 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码
2:它是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现,它很大程度的简化了dao层编码工作。
ORM:对象关系映射。简单来说就是java对象与数据库字段名的映射关系
3:Hibernate使用java反射机制,而不是字节码增强程序来实现透明性
4:它是一个轻量级框架,并支持各种关系型数据库,支持一对一、一对多、多对一、多对多的各种复杂关系。
Hibernate核心控件: //注:核心控制也就是基本工作流程
1:Configuration:负责配置并启动Hibernate,创建SessionFactory对象;
2:SessionFactory:负责初始化hibernate,创建Session对象;
3:Session:负责被持续化对象CRUD操作;
4:Transaction:负责事务的相关操作;
5:Query和Criteria接口:负责执行各种数据库查询
工作流程(实现简单配置):
1:通过Configuration对象读取并解析配置文件(hibernate.cfg.xml :主要配置Hibernate相关参数)
12 3 com.mysql.jdbc.Driver 4jdbc:mysql:///hibernateTest 5root 6yezi 7 8 9true 10 11true 12 13org.hibernate.dialect.MySQLDialect 14 15 1617
2:读取并解析映射信息,创建SessionFactory对象
3:打开Session(会话)
4:创建事务Transaction
5:持久化操作,对对象进行CRUD操作
6:提交事务
7:关闭Session和SessionFactory对象
1 Configuration config = new Configuration().configure(); // Hibernate框架加载hibernate.cfg.xml文件,获取Configuration对象 2 SessionFactory sessionFactory = config.buildSessionFactory(); //获取sessionFactory对象 3 Session session = sessionFactory.openSession(); //打开会话,获取Seeion对象 4 // 开启事务 5 Transaction transaction = session.beginTransaction(); //开启事务 6 7 // 操作 8 session.save(c); //通过Session对象进行操作 9 10 // 事务提交11 // session.getTransaction().commit();12 transaction.commit();13 session.close();14 sessionFactory.close();