Hibernate 介绍

1.Hibernate是什么
Hibernate 持久层框架,是一个一个orm框架,对jdbc做了轻量级的对象封装,使得java程序员可以使用面向对象的思维来操作数据库。Hibernate可以应用于任何使用jdbc的场合。

为什么使用Hibernate
1.对jdbc访问数据库的代码做了封装,大大简化了数据访问层重复繁琐的代码
2.Hibernate是一个基于jdbc的主流持久化框架,是一个优秀的orm实现,它很大程度的简化了dao层编码工作
3.Hibernate使用java的反射机制,而不是字节码增强程序类实现透明性
4.Hibernate的性能非常好,因为它是一个轻量级框架。映射的灵活性很出色。它支持很多关系型数据库,从一对一到多对多的各种复杂关系

Hibernate CRUD
1.根据主键查询
get 和 load的不同
get 找不到对象时,抛出null; load找不到对象时,抛异常ObjectNotFoundException
返回的对象,get返回真实的对象,load返回对象
发送SQL的时机,load采用了懒加载技术,真正使用这个对象的时候,才发送sql;get是立即检索,执行session.get()方法时,立即发送SQL语句查询。
2.Hibernate 中持久化 对象的状态
Transient(瞬时态):持久化对象没有唯一标识OID,没有纳入Session管理
Persistent(持久化):有唯一标识OID,纳入Session管理
Detached(托管态):有唯一标识OID,没有被纳入Session管理

@Test
    // update方法:更新一条记录.将脱管对象转成持久对象
    public void demo10(){
        // 1.创建Session
        Session session = HibernateUtils.openSession();
        // 2.开启事务
        Transaction tx = session.beginTransaction();    
        Book book = new Book();//瞬时态.
        book.setId(1);// 脱管态
        book.setName("MyBatis开发");      
        session.update(book);// 持久态.        
        // 3.提交事务
        tx.commit();
        // 4.关闭资源
        session.close();
    }

Hibernate 缓存
什么是缓存:就是将某些经常使用的数据存储在内存中,当再次访问时,就不会去数据库中获取。
缓存的好处:
提升程序的运行效率,缓存技术是hibernate的一个优化手段。
hibernate分成两个级别的缓存:
一级缓存:与Session的生命周期相同,session close结束,以及缓存失效。
一级缓存的管理:

猜你喜欢

转载自blog.csdn.net/qq_26496877/article/details/72232599
今日推荐