场景

在使用MyBatis的动态sql时,常见的是传递一个ID的数组,查询记录的

ID在这个数组中的记录和模糊搜索这两种场景。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

模糊搜索的实现

mapper接口写法:

public List<KqDksz> selectKqDkszListBySx(String xm);

xml写法:

    <select id="selectKqDkszListBySx"  resultMap="KqDkszResult"><include refid="selectKqDkszVoJoinJibenXinXi"/><where><if test="xm != null  and xm != ''"> and j.xm like concat('%', #{xm}, '%')</if></where></select>

foreach实现in集合

mapper层接口写法:

public int deleteKqBcglXiangxiByIds(Long[] ids);

xml写法:

    <delete id="deleteKqBcglXiangxiByIds" parameterType="String">delete from kq_bcgl_xiangxi where ID in<foreach item="id" collection="array" open="(" separator="," close=")">#{id}</foreach></delete>

注意:

这里的参数为数组参数,就需要把collection属性设置为array

但是这是数组默认的名字,推荐使用@Param来指定参数的名字,这时collection就设置为通过@Param注解指定的名字。

比如:

 public List<KqKqrysz> selectKqKqryszListBySx(@Param("badao")Long[] bmids);

对应的是

             <foreach collection="badao" item="item" open="(" separator="," close=")">${item}</foreach>

如果这里不是数组而是list的话,那么其collection默认的就是list而不是array了。

MyBatis中动态sql的模糊搜索、foreach实现In集合的用法相关推荐

  1. 9、mybatis中动态sql的使用

    对于初学者,如何进行mybatis的学习呢?我总结了几点,会慢慢的更新出来.首先大家需要了解mybatis是什么.用mybatis来做什么.为什么要用mybatis.有什么优缺点:当知道了为什么的时候 ...

  2. Mybatis中动态sql小结

    这篇文章讲述的是Mybatis中动态sql小结,如有错误或不当之处,还望各位大神批评指正. 什么是动态sql MyBatis 的强大特性之一便是它的动态 SQL,它极大的简化了我们拼接SQL的操作. ...

  3. MyBatis中动态sql实现时间范围比较的查询

    场景 前端传递两个时间参数,开始时间和结束时间,然后从数据库中筛选出某个时间属性在此范围的数据. Mybatis的动态sql的写法. 注: 博客: https://blog.csdn.net/bada ...

  4. MyBatis中动态sql实现传递多个参数并使用if进行参数的判断和实现like模糊搜索以及foreach实现in集合

    场景 在mapper接口层方法参数有id的数组和姓名的模糊搜索和类型的三个参数. 现在需要将这三个参数传递在动态sql的xml中接受并进行判断不为空. 然后查询数据库中记录在第一个参数id数组中的并且 ...

  5. c++ 传入动态参数_一文了解Mybatis中动态SQL的实现

    一.动态SQL简介 MyBatis的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦.拼接的时候要确保不能忘了必要的 ...

  6. MyBatis中动态SQL

    01为什么使用sql语句的动态拼接 目前学习的内容sql语句都是直接写死的,但是在实际的开发过程中很多的sql语句都是根据不同的业务情况进行不同的改变的 02 解决的方案 sql语句的动态拼接 03学 ...

  7. SQL 拼接语句输出_一文了解Mybatis中动态SQL的实现

    一.动态SQL简介 MyBatis的强大特性之一便是它的动态 SQL.如果你有使用 JDBC 或其他类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句有多么痛苦.拼接的时候要确保不能忘了必要的 ...

  8. MyBatis中动态sql语句标签详解

    动态 SQL 通常写在mapper包下面的地址映射配置文件(.xml)中.根据条件的不同, SQL 语句也会随之动态的改变. MyBatis 中,提供了一组标签用于实现动态 SQL. 动态SQL语句标 ...

  9. mybatis中动态sql常用的标签

    用来循环容器的标签forEach,查看例子 //mapper中我们要为这个方法传递的是一个容器,将容器中的元素一个一个的 //拼接到xml的方法中就要使用这个forEach这个标签了 public L ...

最新文章

  1. java闭包矩阵_深刻理解Java闭包概念
  2. 第1次作业+105032014074
  3. 使用pipenv建立虚拟环境解决python打包exe文件过大的问题(附打包带图标,多个py文件打包exe)
  4. 网络流 (EK Dinic)
  5. 《ODAY安全:软件漏洞分析技术》学习心得-----shellcode的一点小小的思考
  6. vaadin_Vaadin提示:延迟加载和商品标识
  7. r2dbc_使用Spring Data R2DBC进行异步RDBMS访问
  8. LeetCode 790. 多米诺和托米诺平铺(动态规划)
  9. CCF 201412-4 最优灌溉
  10. pq控制,vf控制和droop控制仿真模型
  11. 网易裁员事件引发的 5 点重要思考
  12. android 手机远程助手,安卓远程桌面软件
  13. 同样磁盘数,不同raid级别的随机IO性能差异对比
  14. BitTorrent下载原理和演示
  15. java 字体变形_字符串变形-Java
  16. linux centos 恢复 还原 备份 Snapper 快照说明
  17. Leanback(1)-播放控制栏下添加新的行
  18. 第十章 DCEP简介
  19. 三网合一”将给中国和中国经济带来什么
  20. 喵的Unity游戏开发之路 - 游泳

热门文章

  1. PAT甲级题目翻译+答案 AcWing(进位制)
  2. redis watch使用场景_[Redis] 常用类型及应用场景
  3. Java中synchronized和Lock的区别
  4. J.U.C系列(一)CountDownLatch的使用
  5. linux 系统 安装 nginx 服务
  6. JVM 垃圾回收机制和常见算法
  7. python怎么实现检验_python 怎么实现数据串进行 BCC 校验 (Block Check Character/ 信息组校验码)?...
  8. php mysqli还原数据库,PHP mysqli操作数据库
  9. 测度定义_Real analysis:外测度的一个等价定义
  10. eclipse javascript_原生js实现贪吃蛇游戏_javascript技巧