Hibernate框架
属于ORM工具,以对象方式实现对数据库的操作。例如Hibernate、MyBatis、JPA等。
学习知识:
1.Hibernate基本使用(单表各种操作)
2.Hibernate查询操作(HQL、Criteria、SQL)
3.Hibernate关联映射(一对多、多对一等)
4.Hibernate框架特性(延迟加载、缓存、持久化等)
5.Spring和Hibernate整合(SSH整合)
Hibernate基本使用
导入hibernate-core包和驱动包
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.42</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.3.1.Final</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
添加hibernate.cfg.xml配置文件
<hibernate-configuration>
<session-factory>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/ovls?useUnicode=true&characterEncoding=utf8
</property>
<property name="connection.username">root</property>
<property name="connection.password">1234</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<!-- 加载映射描述信息 -->
<mapping resource="hbm/Direction.hbm.xml" />
</session-factory>
</hibernate-configuration>
编写实体类
public class Direction implements Serializable{
private Integer id;
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
编写映射描述文件
<hibernate-mapping>
<class name="cn.xdl.entity.Direction" table="DIRECTION">
<!-- 主键映射用id元素 -->
<id name="id" column="ID" type="integer"></id>
<!-- 非主键用property -->
<property name="name" column="NAME" type="string"></property>
</class>
</hibernate-mapping>
获取Session对象操作实体对象
Configuration conf = new Configuration();
conf.configure("hibernate.cfg.xml");//加载hibernate.cfg.xml
SessionFactory factory = conf.buildSessionFactory();
Session session = factory.openSession();
//等价于findById
Direction direction = session.get(Direction.class, 1);
session.close();
Hibernate单表处理
1.添加操作
Transaction tx = session.beginTransaction();
session.save(obj);//执行insert操作
tx.commit();
添加记录时,Hibernate提供了多种主键生成器,管理