Mybatis in查询List或数组 场景实例
1.mybatis in 查询List时
业务代码示例如下:
List<String> list=new ArrayList<String>();
...;//向list中填装参数值
//list为必传参数集时,判断如果该list为空,没有参数值,则填装一个-1或其他保证该表不会查询出的参数值;
//如果list为非必传参数集时,则下面if判断可以省去;
if(list.size()==0){
list.add("-1");
}
HashMap<String,Object> params=new HashMap<String,Object>();
params.put("list",list);
List<HashMap<String,Object>> rList=dao.queryParams(params);
mybatis中相应sql写法示例如下:
<select id="queryParams" resultType="HashMap">
select * from cga_case a
<where>
<if test="list != null and list.size()>0">//注意:此处不能写list!=''要写成list.size()>0,不然会报错
AND a.case_id IN
<foreach item="item" index="index" collection="list" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
</select>
2.mybatis in查询 数组时
业务代码示例如下:
String[] arr=new String[]{...};
//arr为必传参数集时,判断如果该arr为空,没有参数值,则填装一个-1或其他保证该表不会查询出数据的参数值;
//如果arr为非必传参数集时,则下面if判断可以省去;
if(arr.length==0){
arr=new String[]{"-1"};
}
HashMap<String,Object> params=new HashMap<String,Object>();
params.put("arr",arr);
List<HashMap<String,Object>> rList=dao.queryParams(params);
mybatis中相应sql写法示例如下:
<select id="queryParams" resultType="HashMap">
select * from cga_case a
<where>
<if test="arr != null and arr.length>0">
AND a.case_id IN
<foreach item="item" index="index" collection="arr" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
</select>
Mybatis in查询List或数组 场景实例相关推荐
- php 实现数组数据查询,thinkphp数据查询和遍历数组实例_PHP
本文实例讲述了thinkphp数据查询和遍历数组的方法.分享给大家供大家参考.具体方法如下: 数据库可以使用DSN方法进行配置: 代码如下: 'DB_PREFIX'=>'tp_', //设置表前 ...
- MyBatis之查询缓存
MyBatis之查询缓存 2017/09/30 正如大多数持久层框架一样,MyBatis同样也提供了对查询数据的缓存支持.今后我们要学习的SpringMVC框架属于系统控制层,它也有它的缓存区域,对响 ...
- 2.4.3 Mybatis 高级查询, 复杂映射, 返回主键, 动态SQL if, set, foreach, 核心配置文件深入,plugins标签, 多表查询, 嵌套查询
目录 Mybatis 复杂映射&配置文件深入 一 Mybatis高级查询 1.1 ResutlMap属性 1.2 多条件查询(三种) 1.3 模糊查询 二 Mybatis映射文件深入 2.1 ...
- Mybatis联合查询
为什么80%的码农都做不了架构师?>>> 案例 一个博客系统中,用户可以任意发表博文(Post),用户还可以对博文进行评论(Comment).于是在这个系统中,存在以下的关系: ...
- MyBatis基础:MyBatis关联查询(4)
1. MyBatis关联查询简介 MyBatis中级联分为3中:association.collection及discriminator. ◊ association:一对一关联 ◊ collecti ...
- php 两个数组中不同的元素,PHP实现查询两个数组中不同元素的方法
这篇文章主要介绍了PHP实现查询两个数组中不同元素的方法,涉及PHP数组差集运算与数组合并的相关技巧,需要的朋友可以参考下 本文实例讲述了PHP实现查询两个数组中不同元素的方法.分享给大家供大家参考, ...
- 关联规则应用场景实例十则
本文整理了10个天池.DataCastle.DataFountain等中出现的,可使用聚类算法处理的问题场景实例. 1 基于用户位置信息的商业选址 随着信息技术的快速发展,移动设备和移动互联网已经普及 ...
- 聚类算法应用场景实例十则
本文整理了10个天池.DataCastle.DataFountain等中出现的,可使用聚类算法处理的问题场景实例. 1 基于用户位置信息的商业选址 随着信息技术的快速发展,移动设备和移动互联网已经普及 ...
- mybatis 详解(三)------入门实例(基于注解)
1.创建MySQL数据库:mybatisDemo和表:user 详情参考:mybatis 详解(二)------入门实例(基于XML) 一致 2.建立一个Java工程,并导入相应的jar包,具体目录如 ...
最新文章
- c4d+ps打造抽象NFT加密艺术 Create Abstract NFT Crypto Art with Cinema 4D + Photoshop
- oracle根据一张表更新另外一张表
- Spring【AOP模块】就是这么简单
- cycle函数python_Python执行函数的周期实现
- centOS安装Ftp
- python自然语言分析 何翠仪_如何用 Python 中的 NLTK 对中文进行分析和处理?
- linux runqueue定义,Linux中多CPU的runqueue及抢占
- 采用这套全方位监控方案,立刻规避90%采购风险(附体验demo)
- Java基础之StringBuffer和StringBuilder的区别
- ubuntu使用pytorch训练出现killed_目标检测之pytorch预训练模型的使用(削减削减网络层,修改参数)fine-tune技巧...
- Linux 命令行历史及其history
- 添加地图图例 Arcengine+C#
- 太原理工大学 微型计算机实验,太原理工大学 微机原理 实验三 十字路口红绿灯闪烁实验...
- 从学生到专家,C语言开发必读的8本书
- 树莓派安装LibreOffice中文包
- 如何升级maven版本
- 程序员都是段子手,注释都带魔性
- 微信小程序之在线任务发布与接单平台(2)
- python青蛙跳台阶_Python之青蛙跳台阶
- uni-app 微信小程序端-AirKiss一键配网