MyBatis复杂mapper,根据条件数组中的数据进一步判断、从子查询中进一步筛选数据

需要从子查询中进一步获取数据,数组中的数据进一步判断

<select id="queryByPage" resultMap="ThingModelVO">select*    from t_object_model<where>creator_number = #{queryDTO.loginName}<if test="queryDTO.categoryId != null and queryDTO.categoryId > 0">AND category_id = #{queryDTO.categoryId}</if><if test="queryDTO.state != null and queryDTO.state.size > 1">AND state in<foreach collection="queryDTO.state" index="index" open="(" close=")" item="item" separator=",">#{item}</foreach></if><if test="queryDTO.state == null or queryDTO.state.size == 0">or state in (1,20)</if><if test="queryDTO.state != null and queryDTO.state.size == 1"><foreach collection="queryDTO.state" index="index" item="item"><if test="item == 0">and state = 0</if><if test="item != 0">or state = #{item}</if></foreach></if><if test="queryDTO.keyword != null and queryDTO.keyword != ''">AND INSTR(name,#{queryDTO.keyword})OR INSTR(creator_name,#{queryDTO.keyword})OR INSTR(creator_number,#{queryDTO.keyword})</if></where></select>

需要从子查询中进一步筛选数据

<select id="queryByPage" resultMap="ThingModelVO">
select * from (select*from t_object_model<where>creator_number = #{queryDTO.loginName}<if test="queryDTO.state == null or queryDTO.state.size == 0">or state in (1,20)</if><if test="queryDTO.categoryId != null and queryDTO.categoryId > 0">AND category_id = #{queryDTO.categoryId}</if></where>) tempTable<where>1 = 1<if test="queryDTO.state != null and queryDTO.state.size > 1">AND state in<foreach collection="queryDTO.state" index="index" open="(" close=")" item="item" separator=",">#{item}</foreach></if><if test="queryDTO.keyword != null and queryDTO.keyword != ''">AND (INSTR(name,#{queryDTO.keyword})OR INSTR(creator_name,#{queryDTO.keyword}))</where>
</select>

MyBatis复杂mapper,根据条件数组中的数据进一步判断、从子查询中进一步筛选数据相关推荐

  1. mysql查询中使用别名_在mysql子查询中使用外部别名

    查看 this - SELECT rating, user_id, (SELECT COUNT(*) FROM teachers_rating t1 WHERE teacher_id = 3 AND ...

  2. any在mysql语句中用法_MySQL中,子查询中可以使用运算符ANY,它表示的意思是______。...

    MySQL中,子查询中可以使用运算符ANY,它表示的意思是______. 答:至少一个值满足条件 以下能对一维数组a进行正确初始化的语句是[ ] 答:int a[ ]={0; int a[10]={1 ...

  3. mysql group by 无效_Mysql5.7版本group by 子查询中order by 无效的问题解决办法

    我们都知道group by 会选择保留第一条数据,默认是按照id排序的,如果我们想通过别的字段排序,比如最后创建的那条记录,可以先按照创建时间降序,再group by即可得到每个分组的最新创建的数据. ...

  4. any在mysql语句中用法,MySQL中,子查询中可以使用运算符ANY,它表示的意思是______。...

    MySQL中,子查询中可以使用运算符ANY,它表示的意思是______. 答:至少一个值满足条件 According to your textbook, the main purpose of a s ...

  5. SQL子查询中SOME、ANY、ALL关键字

    SQL中带SOME.ANY.ALL的子查询 准备两个表: –T1(2,3) –T2(1,2,3,4) 测试 ">ALL" : 父查询中的结果集大于子查询中每一个值(大于子查询 ...

  6. sql之嵌套查询中的带exists谓词的子查询

    数据库系统概论之嵌套查询中的带exists谓词的子查询 一.exists谓词概述:exists谓词代表存在量词.带有exists谓词的子查询不返回任何数据,只产生逻辑真值"true" ...

  7. MySQL开发技巧 第二禅(子查询中匹配两个值、解决同属性多值过滤的问题、计算累进税的问题)

    一.如何在子查询中匹配两个值 mysql子查询的使用场景及其好处 1.什么是子查询?             当一个查询是另一个查询的条件时,称之为子查询(可以在curd中) 2.常见的子查询使用场景 ...

  8. 关于子查询中的order by子句

    关于子查询中能否用order by子句,有以下两种情况: 第一种例如: select a.col1 from a where a.col2 in (select b.col2 from b order ...

  9. Android中Handler的使用方法——在子线程中更新界面

    本文主要介绍Android的Handler的使用方法.Handler可以发送Messsage和Runnable对象到与其相关联的线程的消息队列.每个Handler对象与创建它的线程相关联,并且每个Ha ...

最新文章

  1. 面试02.01移除重复结点
  2. django中html中图片路径怎么写,django css样式,图片路径问题解决方案
  3. Mybatis源码分析--Mapper接口的代理生成原理
  4. 以表达式作为参数传入SQL的存储过程中去
  5. java bean 验证_Java Bean验证基础
  6. python 正交矩阵_协方差矩阵的计算、PCA
  7. 以太坊2.0存款合约地址余额28.87万ETH,进度达55%
  8. vscode调试typescript
  9. jQuery-星级评价
  10. linux 内存坏了,Linux的缓存内存 Cache Memory详解
  11. 看漫画学python 豆瓣_CAD图纸查看器
  12. 从零开始搭建我的网上商城 - Pika商城
  13. 对数的matlab代码,Matlab的对数
  14. 基于深度图像的行人检测、跟踪技术研究_周波_2014
  15. 密码学写作论文排版操作手册,latex模板cryptocode
  16. MySQL报错端口3306解决方法
  17. windows删除大量文件的优秀方式
  18. zookeeper C API 完整运行实例
  19. 【Android】Android的应用架构
  20. LaTeX中一些常用符号及编写技巧

热门文章

  1. linux openmpi 位置,ubuntu下安装openMPI
  2. matlab在图片上画矩形、圆、写文字
  3. 金九银十,自动化测试面试题精选【某东软件测试工程师二面】
  4. L1-043 阅览室(java)
  5. 职教云JAVA课程答案_智慧职教云课堂APPJava程序基础章节测验答案
  6. 一站式服务陪伴邮政储蓄银行一路同行
  7. gorm mysql text_Grails GORM MySQL生成TEXT或LONGTEXT列
  8. CM201-2-ZG-Hi3798MV300/MV300H/MV310-当贝纯净桌面-卡刷固件包
  9. 微小V营销手机怎样? 夏天导师带你上高速
  10. Docker搭建私有Rap2