java 通用查询框架Querydsl 简介

Posted 全力以赴001

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 通用查询框架Querydsl 简介相关的知识,希望对你有一定的参考价值。

Querydsl 是一个通用的查询框架,专注于通过Java API构建类型安全的SQL查询说说Querydsl的优势吧:   

   1. Querydsl支持代码自动完成,因为才纯Java API编写查询,因此主流Java IDE对起的代码自动完成功能支持几乎可以发挥到极致(因为是纯Java代码,所以支持很好) 
   2. Querydsl几乎可以避免所有的SQL语法错误(当然用错了Querydsl API除外,因为不写SQL了,因此想用错也难) 
   3. Querydsl采用Domain类型的对象和属性来构建查询,因此查询绝对是类型安全的,不会因为条件类型而出现问题 
   4. Querydsl采用纯Java API的作为SQL构建的实现可以让代码重构发挥到另一个高度(这也是Criteria让笔者十分喜爱的主要原因之一) 
   5. Querydsl的领一个优势就是可以更轻松的进行增量查询的定义 

  说了这么多之后,各位看官是否对Querydsl已经产生了兴趣呢?至少笔者对这个很有创意的小工具十分感兴趣,因此笔者在使用HQL构建查询的时候也曾经试图编写一个简单的查询条件构造器。现在看来Querydsl不但已经实现了笔者的想法而且其高度远在笔者至上了。不过Querydsl虽然好也需要开发团队对起使用进行一定的考量。 

    * 首先Querydsl并不使用现有的任何POJO进行查询构建,而是根据现有的配置生成对应的Domain Model进行查询构建,因此对于使用Hibernate的朋友回多出一组Model来 
    * 其次开发团队需要熟悉和了解Querydsl API,或者这不是一个十分漫长的过程,但毕竟需要学习成本,对于一个使用成熟框架的开发团队而言,这些是否需要。 

  不过对于笔者来说Querydsl带来的并不仅仅是使用上的方便,更是对查询理念上的一个改观,同时也是对目前各种ORM框架查询语言的一个升华吧。可能每个ORM框架无论是Hibernate还是EJB或者JDO都有着自己的一套查语言和语法的解析,笔者也觉得他们做的足够好,但如果想使用相同的语法风格在不同的ORM框架上进行操作呢?或者Querydsl会给出我们一个更好的解决方案吧。 

想了解更多关于Querydsl的内用可以去官方网址看看,官方的文档还是很不错的说。 

from:http://xiexiejiao.cn/java/querydsl-1-9-5-release-download.html

 

 

 

这里有一篇Querydsl使用的例子:http://blog.csdn.net/liuchuanhong1/article/details/70244261?utm_source=gold_browser_extension

 

以上是关于java 通用查询框架Querydsl 简介的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot + Querydsl 框架,大大简化复杂查询操作!!

SpringBoot+Querydsl 框架,大大简化复杂查询操作

使用 querydsl jpa 5.0.0 升级到 springboot 2.6.1

在 Spring Data 中为同一 QueryDSL 路径创建多个别名

通用代码因 Spring 数据和 Querydsl 而失败

QueryDSL 生成的类无法访问二级元素进行查询