001 Hibernate 初始
什么是ORM
ORM(Object/Relationship Mapping) 对象/关系映射;
利用面向对象思想编写的数据库应用程序最终都是把对象信息保存到关系型数据库中,于是要编写很多和底层数据相关的的SQL语句。、
Hibernate介绍
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Hibernate环境搭建
① 添加jar包
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
hibernate x.jar
antlr-x.x.x.jar
commons-collections-x.x.jar
dom4j-x.x.x.jar
javassist-x.x.x.GA.jar
jta-x.x.jar
slf4j-api-x.x.x.jar
mysql-connector-java-x.x.x.x-bin.jar
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>4.3.11.Final</version> </dependency> <dependency> <groupId>antlr</groupId> <artifactId>antlr</artifactId> <version>2.7.7</version> </dependency> <dependency> <groupId>org.apache.avro</groupId> <artifactId>avro</artifactId> <version>1.6.3</version> </dependency> <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>org.hibernate.common</groupId> <artifactId>hibernate-commons-annotations</artifactId> <version>4.0.2.Final</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>4.2.2.Final</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.2</version> </dependency> <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>3.15.0-GA</version> </dependency> <dependency> <groupId>org.jboss.logging</groupId> <artifactId>jboss-logging</artifactId> <version>3.1.0.GA</version> </dependency> <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-core</artifactId> <version>3.6.2</version> </dependency> <dependency> <groupId>com.thoughtworks.paranamer</groupId> <artifactId>paranamer</artifactId> <version>2.3</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>org.xerial.snappy</groupId> <artifactId>snappy-java</artifactId> <version>1.0.4.1</version> </dependency>
② 添加Hibernate核心配置文件
hibernate.cfg.xml
③ 编写实体类
pojo.java
④ 编写实体映射文件
xxx.hbm.xml
⑤ 使用Hibernate实现数据操作
1) 创建SessionFactory
① 读取配置文件并解析
Configuration config = new Configuration.configure();
② 获得SessionFactory 【Hibernate 4.0 之前的方式】
SessionFactory sf = config.buildSessionFaction();
③ 获得SessionFactory 【4.0 之后的方式】
ServiceRegistry sr = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();//创建一个ServerRegistry对象【Hibernate的任何配置和服务都需要在该对象注册后才有效】
SessionFactory sf = config.buildSessionFactory(sr);
2) 创建一个Session
Session session = sf.openSession();
3) 开启事务
Transaction tran = session.beginTransaction();
4) 执行数据库操作
//执行方法查看Hibernate常见操作方法
5) 提交事务
tran.commit();
6) 释放资源
session.close();
sf.close();