Java知识点总结框架篇16-20

十六、Hibernate与JDBC的区别
1、hibernate和jdbc主要区别就是,hibernate先检索缓存中的映射对象( 即hibernate操作的是对象),而jdbc则是直接操作数据库.
2、Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架。Hibernate可以用在任何JDBC可以使用的场合
3、Hibernate是一个和JDBC密切关联的框架,所以Hibernate的兼容性和JDBC驱动,和数据库都有一定的关系,但是和使用它的Java程序,和App Server没有任何关系,也不存在兼容性问题。
4、如果正确的使用JDBC技术,它的执行效率一定比hibernate要好,因为hibernate是基于jdbc的技术.
5、JDBC使用的是SQL语句,Hibernate使用的是HQL语句,但是HQL语句最终还会隐式转换成SQL语句执行。
十七、、Hibernate中的两大配置文件
*.hbm.xml:主键生成策略,映射关系,一对多,一对一的关系。
十八、Hibernate事务处理
开启事务 session.beginTransaction();
执行相关的操作,如果成功则session.getTransaction().commit();
执行操作失败则 session.getTransaction.rollback();
十九、Hibernate的三种状态以及状态的转换
Transient(临时)
new 一个初始化对象后,并没有在数据库里保存数据,处于临时状态;
Persistent(持久化)
当执行save()方法,调用session.close()方法之前,内存中的对象与数据库有 对应关系处于持久化状态;
Detached(托管/游离)
当执行session.close()之后,处于托管状态;
状态的转换
处于托管状态下,调用update()方法后,转换为持久化状态;
在持久化状态下,执行delete()方法后,转换为临时状态;
在未初始化对象之前,调用get(),load(),find(),iterate()之后,直接进入持久化 状态。
二十、分页步骤
前台封装一个显示分页的组件
查询总条数
后台封装分页工具类,计算开始位置、结束位置、总页数
后台写支持分页的sql语句
前台包含分页组件,实现分页效果
注意:
查询总条数的where和查询列表信息的where条件要保证一致。