jpa中使用Query判断条件查询

@Query(value = " select m.* from mining_area as m " +
" where 1 = 1" +
" and if(:name != '' , m.name like :name , 1 = 1) " +
" and if(IFNULL(:startDate, '') != '' , DATE(m.create_time) > DATE(:startDate) , 1 = 1 ) " +
" and if(IFNULL(:endDate, '') != '' , DATE(m.create_time) < DATE(:endDate) , 1 = 1 ) " +
" and if(IFNULL(:status, '') != '' , m.audit_status = :status , 1 = 1 ) " +
" and m.deleted = :deleted " +
" and ( m.tree_code like :treeCode and m.audit_status = 3 )" +
" or ( m.tree_code = :noLikeTreeCode ) ",
countQuery = " select count(m.*) from mining_area as m " +
" where 1 = 1" +
" and if(:name != '' , m.name like :name , 1 = 1) " +
" and if(IFNULL(:startDate, '') != '' , DATE(m.create_time) > DATE(:startDate) , 1 = 1 ) " +
" and if(IFNULL(:endDate, '') != '' , DATE(m.create_time) < DATE(:endDate) , 1 = 1 ) " +
" and if(IFNULL(:status, '') != '' , m.audit_status = :status , 1 = 1 ) " +
" and m.deleted = :deleted " +
" and ( m.tree_code like :treeCode and m.audit_status = 3 )" +
" or ( m.tree_code = :noLikeTreeCode ) ",
nativeQuery = true)
List<MiningArea> findPage(String name, Date startDate, Date endDate, AreaAuditStatusEnum status,
String treeCode, String noLikeTreeCode , Integer deleted, Pageable pageable);

jpa中使用Query判断条件查询的更多相关文章

  1. Spring Data JPA,一种动态条件查询的写法

    我们在使用SpringData JPA框架时,进行条件查询,如果是固定条件的查询,我们可以使用符合框架规则的自定义方法以及@Query注解实现. 如果是查询条件是动态的,框架也提供了查询接口. Jpa ...

  2. tips:Java中while的判断条件

    tips:Java中while的判断条件! 在c++中,有时候会遇到这种情况: while(x = y){ dosomething; } 如果x与y相等,这个时候如果循环体中没有跳出的点,那么会无限循 ...

  3. Mybatis中动态SQL多条件查询

    Mybatis中动态SQL多条件查询 mybatis中用于实现动态SQL的元素有: if:用if实现条件的选择,用于定义where的字句的条件. choose(when otherwise)相当于Ja ...

  4. Spring data JPA中使用Specifications动态构建查询

    有时我们在查询某个实体的时候,给定的条件是不固定的,这是我们就需要动态 构建相应的查询语句,在JPA2.0中我们可以通过Criteria接口查询,JPA criteria查询.相比JPQL,其优势是类 ...

  5. Hibernate结合JPA编写通用泛型多条件查询

    项目中使用Hibernate和JPA对数据库对象进行实例化,但是生成的方法不支持多条件查询.而如果针对每一个数据库对象进行多条件查询编码,则会变得很麻烦,而且一旦以后发生表结构发生变化,这些方法可能还 ...

  6. 104_Power Query 数据库条件查询

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载 1.应用场景 底层数据在数据库(sql server数据库,其他数据库同理,下文不再说明.)中,Excel中有查询的字段,需要 ...

  7. Mybatis plus中一个框多条件查询 SQL拼接

    遇到多条件查询时,只用框架自带的方法搞不定,只能自己写方法拼接 EntityWrapper<YcejShopEntity> wrapper = new EntityWrapper<& ...

  8. JPA中使用@Query注解多表联查

    原生SQL: select `user`.id, `user`.`name`,dept.name deptName,sum(sd.score) SumScore from `user` LEFT JO ...

  9. SpringBoot中Example的动态条件查询

    一.无匹配器的情况: Person person = new Person(); person.setName("test"); Role role = new Role(); r ...

随机推荐

  1. Anaconda软件安装使用问题

    目录 更新源 用conda安装包出现的环境不一致问题 更新源 命令行 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/ ...

  2. Linux中ftp服务器搭建

    一.FTP工作原理 (1)FTP使用端口 [root@localhost ~]# cat /etc/services | grep ftp ftp-data 20/tcp #数据链路:端口20 ftp ...

  3. 利用C语言判定用户输入数据从而给出结果(利用判定用户体重范围)同求最优解!!!

    例子: 要求:医务工作者通过广泛的调查和统计分析,根据成人的身高与体重因素给出了按"体质指数"进行判断的方法,具体如下: 体质指数t=体重 w/(身高h)2(w的单位为kg,h的单 ...

  4. SLAM十四讲第二版项目代码总结

    github地址:https://github.com/gaoxiang12/slambook2/tree/master/ch13 双目视觉里程计 头文件 所有的类都在myslam命名空间中 1.co ...

  5. Day10 类与对象-面向对象编程(1)

    面向对象编程(OOP) 面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据. 抽象 三大特征: 封装 继承 多态 从认识论角度考虑是先有对象后有类.对象,是具体的事物.类,是抽象的, ...

  6. 【LeetCode】61. 旋转链表

    61. 旋转链表 知识点:链表: 题目描述 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置. 示例 输入:head = [1,2,3,4,5], k = 2 输出:[4 ...

  7. Java基础之反射总结

    JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意方法和属性:这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制. ...

  8. Appium - adb命令操作

    1.Android 调试桥adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信.它可为各种设备操作提供便利,如安装和调 ...

  9. 微信小程序云开发-云存储-上传单个视频到云存储并显示到页面上

    一.wxml文件 <!-- 上传视频到云存储 --> <button bindtap="chooseVideo" type="primary" ...

  10. redis的单线程

    一.redis为什么这么快 1.完全基于内存,绝大部分请求是纯粹的内存操作,非常快速.数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1):2.数据结构简单 ...