mybatis实现sql查询in()语句
2017-03-13 19:14
337 查看
现象:使用ssm框架 mybaits使用的sql语句中包含in()语句在java中该如何实现
比如:sql语句如下:
DELETE FROM tbl_channel_sms_deploy_province
WHERE exists (SELECT * FROM tbl_channel_sms_deploy
WHERE tbl_channel_sms_deploy_province.sms_deploy_id = tbl_channel_sms_deploy.id
AND tbl_channel_sms_deploy.sync_dest_mob = ‘1111111’) AND
tbl_channel_sms_deploy_province.province_id in (1,2,3)
或者简单语句如
DELETE from tbl_chanel where id in(1,2,3)
解决方案:
1:程序中传入完参数之后创建Map 传入sql语句中:
创建Map 放入参数 一个是字符串一个是list 其中list就是我们需要放入sql语句中in()中的参数;
2:在mybatis中的sql映射文件中
在sql映射文件中的parameterType写入java.util.map, 获取字符串参数的时候使用#{DestMob}就是Map的key。获取list作为in()中的参数:使用上图foreach标签 也是通过key获取。这样就实现sql的in()语句传值。
注意:
在获取Map中的list的时候:collection=”list”这样获取 而不是和字符串获取方式那样的#{list}(collection=”#{list}”貌似无法实现传值)
比如:sql语句如下:
DELETE FROM tbl_channel_sms_deploy_province
WHERE exists (SELECT * FROM tbl_channel_sms_deploy
WHERE tbl_channel_sms_deploy_province.sms_deploy_id = tbl_channel_sms_deploy.id
AND tbl_channel_sms_deploy.sync_dest_mob = ‘1111111’) AND
tbl_channel_sms_deploy_province.province_id in (1,2,3)
或者简单语句如
DELETE from tbl_chanel where id in(1,2,3)
解决方案:
1:程序中传入完参数之后创建Map 传入sql语句中:
创建Map 放入参数 一个是字符串一个是list 其中list就是我们需要放入sql语句中in()中的参数;
2:在mybatis中的sql映射文件中
在sql映射文件中的parameterType写入java.util.map, 获取字符串参数的时候使用#{DestMob}就是Map的key。获取list作为in()中的参数:使用上图foreach标签 也是通过key获取。这样就实现sql的in()语句传值。
注意:
在获取Map中的list的时候:collection=”list”这样获取 而不是和字符串获取方式那样的#{list}(collection=”#{list}”貌似无法实现传值)
相关文章推荐
- Mybatis中sql语句中的in查询,一定要判断null的情况
- Mybatis中sql语句中的in查询,一定要判断null的情况
- Mybatis中sql语句中的in查询,一定要判断null的情况
- Mybatis中sql语句中的in查询,判断null和size为0的情况
- mybatis使用foreach语句实现IN查询
- Mybatis中sql语句中的in查询,一定要判断null的情况
- mybatis sql in 查询(mybatis sql语句传入参数是list)mybatis中使用in查询时in怎么接收值
- mybatis中sql语句where子句中使用in实现批量操作
- MyBatis中forEach实现in条件下的集合参数SQL语句
- mybatis使用foreach实现sql的in查询
- Mybatis中sql语句中的in查询,一定要判断null的情况
- 经典SQL语句实现子孙树查询
- 【转】用标准的SQL语句实现查询记录分页
- 用SQL语句实现随机查询数据并不显示错误数据的方法
- SQL语句实现按关健字模糊查询,并按匹配度排序
- 【转】在SQL Server中通过SQL语句实现分页查询
- 在DataSet实现类似sql语句的查询
- 在DataSet实现类似sql语句的查询
- 用标准的SQL语句实现查询记录分页
- SQL语句实现按关健字模糊查询,并按匹配度排序