如何在Spring Data JPA中引入Querydsl
2024-09-25 20:39:44
一、环境说明
基础框架采用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。
最新文章
- java身份证验证
- iOS--时间类date详解
- MySQL4:存储过程和函数
- MyEclipse使用总结——在MyEclipse中设置jsp页面为默认utf-8编码
- lintcode:买卖股票的最佳时机 III
- java读取目录下所有csv文件数据,存入三维数组并返回
- Android LayoutInflater.from(context).inflate
- 使用yum快速升级CentOS 6.5内核到 3.10.28
- 步步学LINQ to SQL:使用LINQ检索数据【转】
- PMP培训感想
- STL中map的一个知识点
- bootsect及setup
- Jmeter笔记(Ⅱ)使用Jmeter实现轻量级的接口自动化测试
- C#防盗链处理类的代码
- C# Modbus协议中读取浮点数的操作方法
- laravel自定义门面
- JS 比较两个数组是否相等 是否拥有相同元素
- Linux三剑客之awk命令
- tomcat 嵌入式
- 【Java】【绘图】
热门文章
- .NET Core中的性能测试工具BenchmarkDotnet
- Python爬虫入门教程 30-100 高考派大学数据抓取 scrapy
- SpringBoot入门教程(十八)@value、@Import、@ImportResource、@PropertySource
- AJAX应用【股票案例、验证码校验】
- Java复制、移动和删除文件
- Python迭代和解析(4):自定义迭代器
- 解决ajax跨域问题
- Electron 创建一个空白的界面
- C# 创建EXCEL图表并保存为图片
- Java开发笔记(七十)Java8新增的几种泛型接口