Hibernate框架使用-环境搭建
Categories: Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
文章目录[隐藏]
1.添加jar包
pom.xml中添加依赖
<!-- hibernate依赖 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.2.10.Final</version>
</dependency>
<!-- mysql驱动依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.12</version>
</dependency>
2.配置文件
在resources下创建hibernate.cfg.xml配置文件,内容格式如下
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- mysql连接URL -->
<property name="connection.url">jdbc:mysql://127.0.0.1:3306/test?characterEncoding=UTF-8
</property>
<!-- mysql驱动 -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- mysql账户名 -->
<property name="connection.username">root</property>
<!-- mysql密码 -->
<property name="connection.password">root</property>
<!-- 数据库方言 -->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 显示sql语句 -->
<property name="show_sql">true</property>
<!-- 格式化sql语句 -->
<property name="format_sql">true</property>
<mapping resource="pojo/Dept.hbm.xml"/>
</session-factory>
</hibernate-configuration>
3.实体类和映射文件
创建实体类Dept.class
public class Dept {
private Integer id;
private String name;
}
映射文件Dept.hbm.xml (与实体类同包)
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<!-- class的name是实体类的全路径,table是数据库的表名 -->
<class name="com.yht.bean.Dept" table="DEPT">
<!-- id标签用于设置主键,name是实体类中的属性名,type是属性类型 -->
<id name="id" type="java.lang.Integer">
<!-- column代表数据库中的字段,name是字段名,precision有效位数,scale精度-->
<column name="ID" precision="10" scale="0"/>
<!-- generator主键生成策略 -->
<generator class="identity"/>
</id>
<!-- property是普通的属性,name是实体类中的属性名,type是属性类型 -->
<property name="name" type="java.lang.String">
<!-- column代表数据库中的字段,name是字段名,length是长度-->
<column name="NAME" length="20"/>
</property>
</class>
</hibernate-mapping>
附: 主键生成策略介绍 百度百科
因为xml文件在编译时不会被加载,所以会导致hibernate报错,需要在pom.xml中<project>节点中配置如下代码
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</build>
4.使用
Hibernate使用步骤
1.读取并解析配置文件
Configuration conf = new Configuration().configure();
2.创建SessionFactory
SessionFactory sessionFactory = conf.buildSessionFactory();
3.创建Session
Session session = sessionFactory.openSession();
4.开启事务
Transaction transaction = session.beginTransaction();
5.进行数据库操作
session.save(增)/delete(删)/update(改)/get(查)/load(延迟查)
6.结束事务
transaction.commit();/transaction.rollback();
7.关闭
session.close();
sessionFactory.close();