1.新建entity

多对多的处理方式,在中间表的实体假如一对一

一对多的处理方式

2.创建dao

复杂sql直接在这里编写sql,然后直接调用dao方法

3.创建实体类并提供与entity的转换构造方法

4.repo层:业务处理,增删改加事务,调用dsl

5.dsl层:jpa处理,封装实体类返回,limit的处理方式

6.where多个条件需要判断的处理方式以及like处理方式

7.in的处理方式

8.文本类型需要处理

9.in后面可以直接加子查询,而form后面则不行,除非用queryDsl + blaze-persistence

10.对于需要表名动态拼接,可以写一个拦截器NamingInterceptor 继承EmptyInterceptor,重写onPrepareStatement方法对sql预处理。可以定义一个ThreLocal进行存储拼接内容

11.jpa很多时候返回的是Tuple类型(只要是查询多个指定字段就是返回Tuple类型),这时候可以使用Projections.bean(),返回指定泛型

 public List<BizType> findBizByMsgType(int userId, int msgType) {JPAQuery<BizType> query = queryFactory.select(Projections.bean(BizType.class, businessTypeEntity.id,businessTypeEntity.name, businessTypeEntity.startTime, businessTypeEntity.endTime,businessTypeEntity.type, ub.busType)).from(ub).leftJoin(businessTypeEntity).on(ub.typeId.eq(businessTypeEntity.id)).leftJoin(bs).on(ub.typeId.eq(bs.biztypeId)).leftJoin(es).on(bs.enterpriseSpecnumBindId.eq(es.id));if (msgType==2){query.leftJoin(sn).on(es.specnumId.eq(sn.id)).leftJoin(cc).on(sn.channelId.eq(cc.id));}return query.where(ub.userId.eq(userId).and(es.msgType.eq(msgType)).and(businessTypeEntity.state.eq(1))).orderBy(businessTypeEntity.id.asc()).fetch();}
  1. update的时候,多个字段使用多个set实现.

Querydsl-JPA学习(入门篇)
Querydsl-JPA学习(进阶篇)
参考

JPA使用(Querydsl)相关推荐

  1. Spring JPA整合QueryDSL

    前言 Spring JPA是目前比较常用的ORM解决方案,但是其对于某些场景并不是特别的方便,例如查询部分字段,联表查询,子查询等. 而接下来我会介绍与JPA形成互补,同时也是与JPA兼容得很好的框架 ...

  2. springboot整合JPA+MYSQL+queryDSL数据增删改查

    Spring Boot Jpa 是 Spring 基于 ORM 框架.Jpa 规范的基础上封装的一套 Jpa 应用框架,可使开发者用极简的代码即可实现对数据的访问和操作.它提供了包括增删改查等在内的常 ...

  3. Spring Data Jpa使用QueryDsl接口出现的一些问题

    1.QuerydslPredicateExecutor当实现此接口时,如果出现什么什么类没有找到的时候,请确认相关的querydsl依赖是否已经添加到maven依赖中 <dependency&g ...

  4. Spring boot JPA+Gradle+QueryDSL 完美配置生成Q文件依赖

    1. 环境(理论上不限) IDEA 2019.3.5 springboot 2.3.0 gradle 6.3 querydsl 4.2.1 JDK 1.8 2. 核心配置(build.gradle ) ...

  5. jpa整合querydsl实现简单查询以及左联查询

    用意: 为了解决jpa复杂查询以及多表查询难以的问题,故找到该神器(querydsl),使用该框架后,可以使jpa像mybatis一样灵活,随心所欲.下面的代码只展示了常用的mysql操作,包含动态查 ...

  6. JPA 和 QueryDSL

    querydsl极简入门 QueryDSL+gradle+idea spring boot-jpa整合QueryDSL 关于 QueryDSL 配置和使用(详细) querydls关联查询 query ...

  7. JPA 复杂查询 - Querydsl

     添加依赖 <!--query dsl --> <dependency> <groupId>com.querydsl</groupId> <art ...

  8. Spring Data JPA REST Query QueryDSL

    案例概述 在本教程中,我们将研究使用Spring Data JPA和Querydsl为REST API构建查询语言. 在本系列的前两篇文章中,我们使用JPA Criteria和Spring Data ...

  9. Spring Data JPA 实战

    课程介绍 <Spring Data JPA 实战>内容是基于作者学习和工作中实践的总结和升华,有一句经典的话:"现在的开发人员是站在巨人的肩上,弯道超车".因现在框架越 ...

  10. java dsl框架_Spring Boot整合QueryDSL的实现示例

    之前研究Jooq,今天来研究一下搭配JPA的QueryDSL吧. 简介 Querydsl是一个Java开源框架用于构建类型安全的SQL查询语句.它采用API代替拼凑字符串来构造查询语句.可跟 Hibe ...

最新文章

  1. Windows7_x64下编译64位ffmpeg
  2. php缓存accestoken_PHP获取微信access_token并缓存和自动更新
  3. unity发布android报错,Unity移动端入门 - Android那些事 /AAR包发布错误
  4. 8086汇编-实验7-制表
  5. P2469 [SDOI2010]星际竞速
  6. PetaPoco初体验(转)
  7. C++11 并发指南五(std::condition_variable 详解)
  8. 沈梦辰回应闲鱼卖假货事件:负责到底 不做一锤子买卖
  9. 一直当菜鸟吧!——关于全局变量
  10. 扩展卡尔曼滤波器设计
  11. 二分图匹配----基于匈牙利算法和KM算法
  12. 浅析 路印协议--Loopring 及整体分析 Relay 源码
  13. socket 服务器
  14. 百度地图api初次申请及简单应用
  15. 安卓Android Studio开发环境,无需连接外网
  16. EasyExcel导出Excel 自定义 表头颜色
  17. CleanMyMac4.12最新版mac系统内存空间清理教程
  18. 什么是V2X?如何通过V2X技术实现5G智慧交通?
  19. 一键搞定黑白照片上色,模糊的老照片瞬间变清晰
  20. 微信小程序-wxml笔记(更新中)

热门文章

  1. 树莓派3b+控制舵机
  2. 火爆的人工智能项目都在这里了|Gitee项目推荐
  3. GreenDao封装使用
  4. TLAB(Thread Local Allocation Buffer)
  5. Win10同时安装两个版本的JDK并随时切换,JDK8和JDK11手把手教学
  6. flash iphone效果
  7. accept4: too many open files; retrying in 1s
  8. SPI的模拟应用——OLED以及时钟模块的应用(一)SPI协议介绍及利用协议实现两机通信(51单片机)
  9. outlook2007 菜单灰色 不能使用的解决方案
  10. 功率谱密度的一个小理解