第11节 JPA的查询支持.pptx

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
经典Java EE课程 段鹏松 第11章 JPA的查询支持 掌握JPA查询的基本流程 掌握JPQL的基本语法 了解在JPA中使用原生SQL查询 课程目标 概述 JPA定义了一套属于面向对象的查询语言:Java Persistence Query Language(JPQL) JPQL是面向对象的查询语言,因此它完全可以理解继承、多态和关联等特性。 JPQL内置了大量函数,极大地方便了数据库查询操作。 目 录 查询API 执行查询 JPQl语法 批量更新和批量删除 原生SQL查询 面向对象的JPQL SQL和JPQL最大的区别 SQL是面向数据库的查询语言 JPQL是面向对象的查询语言,类似HQL JPQL的基本语法格式 select 实体别名.属性名,... from 实体名 [as] 实体别名 where 实体别名.实体属性 op 比较值 查询API简介 JPQL的查询主要由Query接口来完成 JPQL查询的步骤: Query的创建 createQuery(String JPQLString) 其他重载方法 Query设置查询参数 setParameter(...) 其他重载方法 Query执行查询 getResultList() 其他查询方法 目 录 查询API 执行查询 JPQl语法 批量更新和批量删除 原生SQL查询 执行查询 位置参数: ?位置编号 命名参数: :参数名 查询结果 一条记录,使用getSingleResult() 多条记录,使用getResultList() 实际操作演示 简单示例(位置参数查询) Query query =em.createQuery (select p from Flentity p where p.f_name=?1);    query.setParameter(1,A1);   return query.getResultList(); 简单示例(命名参数查询) Query query =em.createQuery (select p from Flentity p where p.f_name=:name);    query.setParameter(“name”,A1);   return query.getResultList(); 目 录 查询API 执行查询 JPQl语法 批量更新和批量删除 原生SQL查询 概述 经过前面的学习,已经掌握了JPQL的基本查询流程。 本小节主要讲述JPQL查询的细节,知识点较为零碎。 使用from子句 from子句用于查询指定的实体,其后紧跟实体类的类名。常用的格式如下: from 实体类名 [as] 实体别名 尽量避免在from后跟多个实体类名 实际操作演示 使用select子句 select子句用于选择指定的属性或之际选择某个实体。常用的格式如下: select 实体别名.实体属性1,实体别名.实体属性2...... from...... 如果select后有多个项,则查询出来的集合元素就是相应类型的数组。 实际操作演示 查询中使用构造器 JPQL允许在查询中根据选出的属性来创建对象。常用的格式如下: select new className(属性名1,属性名2,...) from ... 必须存在相应的构造函数。 查询出来的集合元素就是相应类型的构造类型。 实际操作演示 where子句和条件表达式 where子句用于筛选查询的结果,缩小查询的范围。常用的格式如下: select 实体别名.实体属性1,实体别名.实体属性2...... from...... where 条件表达式 条件表达式中可以采用精确查找,也可以采用模糊查找。 常用的条件运算符都支持。 实际操作演示 使用JPQL函数 JPQL内置了大量功能强大的函数,可以更有效的执行查询,设置查询结果。 JPQL的内置函数有: 字符串函数 数学函数 日期、时间函数 实际操作演示 多态查询 当查询实体类时,不仅可以查询该实体类的全部实例,还会查询出该类的子类的全部实例。 必须具有继承关系。 实际操作演示 关联和连接 JPQL查询除了支持对继承映射的实体进行多态查询之外,也支持对关联映射的实体进行多表连接查询。 这种多表连接查询既可以是隐式连接,也可以是显示连接。 实际操作演示 使用order by进行排序 查询返回的集合可以根据实体或符合属性的任何属性使用order by进行排序。 还可以使用asc或desc关键字指定升序或降序的排序规则。 默认是升序规则。 实际操作演示 聚集函数和分组 JPQL的聚集函数 avg count max mi

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档