Mybatis查询实例,sql中的in在Mybatis中怎么写--以list为查询条件

Posted 寂寞的小丑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis查询实例,sql中的in在Mybatis中怎么写--以list为查询条件相关的知识,希望对你有一定的参考价值。

在service中把参数放到HashMap中
List<String> list = new ArrayList<String>();
list.add("x");
list.add("y");
list.add("z");

String s = "A"

Date d = new Date();

HashMap<String,Object> param = new HashMap<String,Object>();

param.put("list",list);
param.put("s",s);
param.put("d",d);

XXXDao.queryXXX(param);

在Mybatis的Mapper中是这么写:
<select id = "queryXXX",resultType = "XXX", paramterType = "java.lang.HashMap">
select * from tab where zi_duan1 = #{s} and zi_duan2 = #{d}
and zi_duan3 in 
<foreach item="item" index="index" collection="list" open="("
            separator="," close=")">
            #{item}  
         </foreach>
</select>
在service中把参数放到HashMap中
List<String> list = new ArrayList<String>();
list.add("x");
list.add("y");
list.add("z");

String s = "A"

Date d = new Date();

HashMap<String,Object> param = new HashMap<String,Object>();

param.put("list",list);
param.put("s",s);
param.put("d",d);

XXXDao.queryXXX(param);

在Mybatis的Mapper中是这么写:
<select id = "queryXXX",resultType = "XXX", paramterType = "java.lang.HashMap">
select * from tab where zi_duan1 = #{s} and zi_duan2 = #{d}
and zi_duan3 in 
<foreach item="item" index="index" collection="list" open="("
            separator="," close=")">
            #{item}  
         </foreach>
</select>

以上是关于Mybatis查询实例,sql中的in在Mybatis中怎么写--以list为查询条件的主要内容,如果未能解决你的问题,请参考以下文章

mybatis

mybatis 基本用法

mybatis sql in 查询(mybatis sql语句传入参数是list)mybatis中使用in查询时in怎么接收值

Mybatis3源码分析:前期准备

mybat 中的缓存,多对多

Mybatis框架第二篇