Hibernate知识点总结.doc_第1页
Hibernate知识点总结.doc_第2页
Hibernate知识点总结.doc_第3页
Hibernate知识点总结.doc_第4页
Hibernate知识点总结.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章 持久化及ORMHibernate基本原理一个开发源代码的对象关系映射框架对JDBC进行了非常轻量级的对象封装, 简化了JDBC 繁琐的编码将JavaBean对象和数据库的表建立对应关系搭建项目框架,编写hibernate配置文件,映射文件使用hibernate完成增删改查操作1、读取并解析配置文件2、读取并解析映射信息,创建SessionFactory3、打开Session4、开始一个事务(增删改操作必须,查询操作可选)5、数据库操作6、提交事务(回滚事务)7、关闭session实体对象的三种状态瞬时状态、持久状态、游离状态Hibernate开发步骤:1、 准备对象2、 设置关系3、 持久化操作Session绑定线程第二章类与类之间的关系关联、泛化、聚集、聚合Many-to-one关联 One-to-many关联 双向一对多关联One-to-many和many-to-one的组合Many-to-many关联 数据库中的表分为3种:实体表、关系表、字典表Cascade和inverseCasecade:级联,一得一方进行的操作会影响到多的一方,即主控方进行什么操作受控方就进行什么操作Inverse:反转控制、放弃控制权,即inverse=”false”的一方有维护关系的权利,inverse=”true”的一方放弃维护关系的权利第三章HQL的优点:1、 语句简单2、 无需封装3、 独立于数据库使用HQL的步骤1、 得到session2、 编写HQL语句3、 创建Query对象4、 执行查询并得到返回结果HQL属性查询得到的list中存的是Object数组参数绑定1、 占位符“?“ 设置值时,下标从0开始2、 命名参数:name作为参数3、 封装参数一、创建查询对象二、动态设置查询语言(拼接HQL语句)三、使用setproperties()设定参数HQL分页查询setFirstResult(pageNo-1)*pageSize)设置首条记录的位置setMaxResult(pageSize)设置每页最大显示数HQL排序查询HQL 常用聚合函数count( ):统计函数max( )和min( ):最大值和最小值函数avg( )和sum( ):平均值和求和函数与SQL类似,HQL 通过order by 子句实现对查询结果的排序默认情况下按升序顺序排序排序策略(asc 升序、desc 降序HQL分组查询通过group by 子句实现并使用having 子句对group by 返回的结果集进行筛选第四章如何对Hibernate进行性能优化1、 数据库设计2、 HQL优化一、 避免使用or操作二、 避免使用not三、 避免使用like(可以用标签)四、 避免having子句五、 避免使用distinct3、 数据加载策略即时加载、延迟加载关联对象、关联集合、实体对象默认延迟加载属性默认即时加载Hibernate的默认配置适合于大多数情况Get()方法不受延时加载的限制Load()方法受延迟加载的影响4、 缓存管理分为一级缓存和二级缓存一级缓存时hibernate管理的二级缓存需要手动配置List和iterate的区别List()每次只发出一条查询语句,并把查询结果存入sessionIterate()先查询满足条件的id然后去缓存中查询,差异的部分到数据库中查询联接查询和联接迫切(fetch)查询普通联接查询返回的list中存的是object数组,object数组中的对象从左往右依次对应迫切查询返回的list中存储的是最左边的对象(边查询边封装)第五章Criteria查询Criteria 查询采用面向对象方式封装查询条件,又称为对象查询对SQL 语句进行封装采用对象的方式来组合各种查询条件由Hibernate 自动产生SQL 查询语句Criteria由Hibernate Session进行创建Example查询适用于多条件等值查询常用限定查询方法 方法说 明Restrictions.eq()对应SQL的等于(=)Restrictions.allEq()使用Map,使用key/value进行多个相等的值的比对Restrictions.gt()对应SQL的大于 ()Restrictions.ge()对应SQL的大于等于 (=)Restrictions.lt()对应SQL的小于 ()Restrictions.le()对应SQL的小于等于 (=)Restrictions.between()对应SQL的between子句Restrictions.like()对应SQL的like子句Restrictions.in()对应SQL的in子句Restrictions.and()对应SQL的andRestrictions.or()对应SQL的orRestrictions.not()对应SQL的not使用Criteria进行查询排序addOrder(Or

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论