hibernate简介:
hibernate是一个开源框架,它是对象关联关系映射的框架,它对JDBC做了轻量级的封装,而我们java程序员可以使用面向对象的思想来操纵数据库。
hibernate核心接口
session:负责被持久化对象CRUD操作
sessionFactory:负责初始化hibernate,创建session对象
configuration:负责配置并启动hibernate,创建SessionFactory
Transaction:负责事物相关的操作
Query和Criteria接口:负责执行各种数据库查询
hibernate工作原理:
1.通过Configuration config = new Configuration().configure();//读取并解析hibernate.cfg.xml配置文件
2.由hibernate.cfg.xml中的<mapping resource="com/xx/User.hbm.xml"/>读取并解析映射信息
3.通过SessionFactory sf = config.buildSessionFactory();//创建SessionFactory
4.Session session = sf.openSession();//打开Sesssion
5.Transaction tx = session.beginTransaction();//创建并启动事务Transation
6.persistent operate操作数据,持久化操作
7.tx.commit();//提交事务
8.关闭Session
9.关闭SesstionFactory
为什么要用hibernate:
2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作
3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。
4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。
ORM环境搭建:我使用的是Eclipse,导入Hibernate所需的jar包以及Mysql驱动包以及日志文件包,jdk版本为1.8。
Mysql数据库创建:
创建Java动态工程2018.5.7ORM,创建包com.lxy,建立类user:
配置hibernate.cfg.xml文件:
配置user.hbm.xml文件:
编写测试类TestDemo:
运行结果:
总结:我遇到的问题有,Jdk版本过低(解决方法:更换为JDK1.8),tomcat版本过低(解决方法:将版本更换为tomcat8.0),无法连接到数据库(解决方法:导入mysql的驱动包)。在ORM的Hibernate搭建下,需要注意包的导全与否,还要注意JDK版本问题。