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. python shell背景颜色改变_科学网—Python Shell Background Color - 李旭的博文
  2. Android-----application的学习
  3. ik mysql热加载分词_Elasticsearch 之(25)重写IK分词器源码来基于mysql热更新词库...
  4. 单元格内多个姓名拆分成一列_excel单元格拆分拆分同一单元格中的姓名,原来这么简单啊!...
  5. 【三国志战略版】拆解与分析
  6. [迷宫中的算法实践]迷宫生成算法——Prim算法
  7. 深入理解Kafka(4)-主题与分区
  8. PostgreSQL学习手册(角色和权限) 转
  9. Event Loop、计时器、nextTick
  10. EasyUI——DataGrid中嵌入Radio
  11. android 物联网 pdf,android复习资料(物联网141).pdf
  12. 中兴6908的三层交换
  13. ibm服务器刷主板系统,IBM X3850 X5服务器更换主板后修改主板信息
  14. 按头安利 好看又实用的手绘图标素材看这里
  15. 【技法操作】UI界面设计,用PS绘制闹钟页面教程
  16. ARM MIPS PowerPC X86 四大常见处理架构比较
  17. 研报精选230215
  18. C# 中使用面向切面编程(AOP)中实践代码整洁(转)
  19. Java —— 冒泡排序
  20. 冯诺依曼计算机结构的中心,冯·诺依曼计算机是以什么为中心的

热门文章

  1. 教你解包华为U8825D官方固件UPDATE.APP --以B956为例
  2. 用python画熊_Python数据可视化:Pandas库,只要一行代码就能实现
  3. 编写 Linux shell 脚本 踩坑记录
  4. 4核处理器_【装机帮扶站】第489期:盘点一波100元以下的4核/6核/8核/10核/12核处理器(2)...
  5. SQL语句的一个面试题目
  6. caret包处理流程
  7. android 状态栏(StatusBar)
  8. [iOS开发]Status Bar Style
  9. C++:实现量化ODE模型测试实例
  10. 关于QT4的一些学习杂记