jpa 动态查询条件 数组_利用JPA+querydsl实现多条件动态查询

本文介绍了如何利用QueryDSL结合JPA实现动态多条件查询,包括模糊查询、动态条件组合和分页。通过创建SearchOrderDTO作为查询条件,动态构建并执行查询语句,最后展示了Controller中如何调用查询方法。
摘要由CSDN通过智能技术生成

相信很多人在做订单管理的时候会用到多条件的检索,比如说查询订单状态是已支付的,金额在100-200之间的商铺a的已完结的订单,这样的多条件。

实现方式有多种,核心就一个if和判空。今天学习了querydsl,来具体回顾一下。

首先是我做的效果图,我们主要看查询怎么实现的。

介绍一下querydsl

首先QueryDSL仅仅是一个通用的查询框架,专注于通过Java API构建类型安全的SQL查询。

其次Querydsl可以通过一组通用的查询API为用户构建出适合不同类型ORM框架或者是SQL的查询语句,也就是说QueryDSL是基于各种ORM框架以及SQL之上的一个通用的查询框架。

再然后借助QueryDSL可以在任何支持的ORM框架或者SQL平台上以一种通用的API方式来构建查询。目前QueryDSL支持的平台包括JPA,JDO,SQL,Java Collections,RDF,Lucene,Hibernate Search。

开始开发 ,首先是pom依赖

这里要加两个关于querydsl的依赖,jpa和apt,版本是一致的

com.querydsl

querydsl-jpa

4.2.1

com.querydsl

querydsl-apt

4.2.1

然后是要配置一个插件来生成Q版的实体类,只有Q版的实体类才能参与querydsl的查询

com.querydsl

querydsl-maven-plugin

generate-sources

jpa-export

target/generated-sources/java

com.jerry.gamemarket.entity

target/generated-sources/java这是生成Q版实体的目标文件夹

com.jerry.gamemarket.entity这是把那些包下的实体生成Q版。

执行mvn compile之后,就能看到生成Q版实体类。

在编写具体的查询方法之前我们需要实例化EntityManager对象以及JPAQueryFactory对象,并且通过实例

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值