mybatis 传递selectList("id",map)

map.put("school","beida");List<map<string,string>>stuList=newList<map<string,string>>... map.put("school","beida");
List<map<string,string>> stuList= new List<map<string,string>>() ;
map stu = new HashMap<String,String>();
stu.put("name","s1");
stu.put("age","18");
stuList.add(stu);
...
..

map.put("students",stuList);

mybatis 里
<select id="selectStudent' >
select * from sudent
where
school = #{school} and
(

<foreach collection = "stuList" item="s" , split = "or">
(name =# {s.name} and age=#{s.age})

</foreach>

)

</select>

大概这个意思
我想where 的 and 里
(name="小金“ and age=”18“) or
(name=”小王“ and age=”20“) or
。。
。。

能不能 只用selectList 写这个循环呢?
大家帮帮我哦 弄了一天没弄完
高手帮忙
展开
 我来答
zjgzhengxian
推荐于2016-11-29 · TA获得超过1276个赞
知道小有建树答主
回答量:736
采纳率:100%
帮助的人:369万
展开全部
(
<foreach collection="stuList" item="s" index="index" separator=" or ">
    (name =# {s.name} and age=#{s.age})
</foreach>
)

separator表示在每一个(name=……)之间插入一个字符串,试试看

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式