一、环境说明

基础框架采用Spring Boot、Spring Data JPA、Hibernate。在动态查询中,有一种方式是采用Querydsl的方式。

二、具体配置

1、在pom.xml中,引入相关包和配置插件。

(1)引入包(注:不需要版本号,Spring Boot 会自动匹配合适的版本)

<!-- Querydsl相关包 -->
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-jpa</artifactId>
</dependency> <dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
</dependency>

(2)配置插件:主要用来生成“查询对象”。

            <plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>maven-apt-plugin</artifactId>
<version>1.0.4</version>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-sources</outputDirectory>
<processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor>
</configuration>
</execution>
</executions>
</plugin>

2、设置源文件夹

经过上面pom.xml的配置后,就在 target/generated-sources 文件夹下面自动生成“查询对象”。需要将该文件夹设置成“源文件夹”,以便可以将下面的java文件进行编译使用。

生成的查询对象,都是在原实体(bo)类的名字前,加上 Q 表示。

3、dao中继承接口QueryDslPredicateExecutor

4、在service层使用 Querydsl方式进行是查询,例如:

三、写在最后

此文仅作为引入Querydsl的笔记,并不代表作者本人推荐使用Querydsl。就实际应用而言,个人更倾向于使用 JPA Criteria 的方式来实现动态查询,其接口是JpaSpecificationExecutor。

最新文章

  1. java身份证验证
  2. iOS--时间类date详解
  3. MySQL4:存储过程和函数
  4. MyEclipse使用总结——在MyEclipse中设置jsp页面为默认utf-8编码
  5. lintcode:买卖股票的最佳时机 III
  6. java读取目录下所有csv文件数据,存入三维数组并返回
  7. Android LayoutInflater.from(context).inflate
  8. 使用yum快速升级CentOS 6.5内核到 3.10.28
  9. 步步学LINQ to SQL:使用LINQ检索数据【转】
  10. PMP培训感想
  11. STL中map的一个知识点
  12. bootsect及setup
  13. Jmeter笔记(Ⅱ)使用Jmeter实现轻量级的接口自动化测试
  14. C#防盗链处理类的代码
  15. C# Modbus协议中读取浮点数的操作方法
  16. laravel自定义门面
  17. JS 比较两个数组是否相等 是否拥有相同元素
  18. Linux三剑客之awk命令
  19. tomcat 嵌入式
  20. 【Java】【绘图】

热门文章

  1. .NET Core中的性能测试工具BenchmarkDotnet
  2. Python爬虫入门教程 30-100 高考派大学数据抓取 scrapy
  3. SpringBoot入门教程(十八)@value、@Import、@ImportResource、@PropertySource
  4. AJAX应用【股票案例、验证码校验】
  5. Java复制、移动和删除文件
  6. Python迭代和解析(4):自定义迭代器
  7. 解决ajax跨域问题
  8. Electron 创建一个空白的界面
  9. C# 创建EXCEL图表并保存为图片
  10. Java开发笔记(七十)Java8新增的几种泛型接口