------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------
对于学过ORM框架的朋友来说,上手HibernateORM来说,既熟悉有有一点陌生,熟悉无非是灵魂相通,陌生的只是一些语言罢了
1.1:Hibernate-ORM简介
1.Hibernate是一个开发源代码的对象关系映射框架(ORM);
2.对JDBC进行了轻量级的封装,可以将实体类和数据库中的表产生映射关系;
3.是一个全自动的ORM框架;hibernate能自动生成sql语句;
4.程序猿可以完全按照面向对象的编程思想来操作数据库.
Hibernate ORM: 我们研究的主题;
Hibernate Search:类似于lucence全文检索
Hibernate Validator:验证框架
Hibernate OGM:针对于Nosql数据库的操作
1.2:核心配置文件hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
配置文件中的需要我们配置的重要内容:
01.连接数据库的四要素
02.管理各种hbm.xml映射文件
03.缓存的设置
04.是否显示sql语句
05.是否格式化sql语句
06.hbm2ddl的配置
1.2:核心API
1. Configuration 类----------------》对应mybatis的SqlsessionFactoryBuilder
加载hibernate的核心配置文件,以及负责启动hibernate,创建SessionFactory对象
2. SessionFactory 接口----------------》对应mybatis的SqlsessionFactory
初始化Hibernate,是数据存储源的代理,负责创建Session对象!
一个项目中我们使用一个SessionFactory就足够了!
如果我们需要操作多个数据库时,建立每个数据库指定一个SessionFactory!
3. Session接口----------------》对应mybatis的Sqlsession
负责执行持久化对象的CRUD操作!是线程不安全的!可以开启事务!创建Transaction对象!
Session ===>会话session
HttpSession ===>用户session
4. Transaction接口
针对于事务的操作!
5. Query接口
方便我们对数据库数据的查询,有两种方式来实现查询:
01.sql
02.hql
6. Criteria接口
和query接口非常相似!完全面向对象的思想去操作数据库!