jpa、querydsl常用查询以及对照sql

项目源码

一、动态条件查询

平时使用最多的场景,根据传入的条件动态拼接查询,类似mybatis中的if标签。根据条件判断是否添加条件查询,添加exist子句查询,根据关键字模糊查询id和关键字等。如下所示:

public Predicate buildPredicate() {
    QWxUser qWxUser = QWxUser.wxUser;
    QUserTag qUserTag = QUserTag.userTag;
    QTag qTag = QTag.tag;
    BooleanBuilder predicate = new BooleanBuilder();
    if (StrUtil.isNotBlank(appId)) {
        predicate.and(qWxUser.appId.eq(appId));
    }
    if (StrUtil.isNotBlank(keyword)) {
        String fuzzKeyword = "%" + keyword + "%";
        predicate.and(qWxUser.wxUserId.stringValue().like(fuzzKeyword).or(qWxUser.nickname.like(fuzzKeyword)));
    }
    if (StrUtil.isNotBlank(openId)) {
        predicate.and(qWxUser.openId.eq(openId));
    }
    if (StrUtil.isNotBlank(unionId)) {
        predicate.and(qWxUser.unionId.eq(unionId));
    }
    Optio
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
jpa querydsl是一种用于简化复杂操作的工具,在使用jpaquerydsl的整合过程中起到了很大的作用。通常情况下,使用apt插件生成的jpa使用的Q类是不能直接使用的,需要使用改造版的Q类(extends EntityPathBase<Entity>)。在使用jpaquerydsl整合的过程中,可以通过使用Q类来构建查询,它可以方便地操作数据库表中的字段并封装结果集到实体类中。在具体的代码实现中,可以使用JPASQLQuery类来进行查询操作,并使用Q类来指定查询的字段和临时表的字段。可以参考相关的文档和教程来了解更多关于jpaquerydsl的整合方法和使用技巧。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [JPAQueryDSL-JPA 使用指南](https://blog.csdn.net/footless_bird/article/details/129359394)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [详解spring boot jpa整合QueryDSL来简化复杂操作](https://download.csdn.net/download/weixin_38686153/12761625)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值