概述
foreach标签
一、接口定义:
public interface FlowerMapper {
List<Flower> selectMore(List<Integer> li);
}
二、 mapper.xml
<mapper namespace="com.bjsxt.mapper.FlowerMapper2">
<select id="selectMore" resultType="flower">
SELECT id,name,price from flower where id in
<!--
你可以传递一个 List 实例或者数组作为参数对象传给 MyBatis。当你这么做的时候,MyBatis 会
自动将它包装在一个 Map 中,用名称在作为键。List 实例将会以“list” 作为键,而数组实例将会以“array”作
为键。
collection填写foreach的对象,
-->
<foreach collection="list" open="(" separator="," close=")" item="it">
#{it}
</foreach>
</select>
</mapper>
三、测试代码
Sqlsession session = factory.openSession(true);
FlowerMapper mapper = session.getMapper(FlowerMapper.class);
List i = new ArrayList<Integer>();
i.add(1);
i.add(2);
i.add(7);
List<Flower> li = mapper.selectmore(i);
session.close();
bind标签 来进行模糊查询
<select id="selectMore2" resultType="flower">
SELECT id,name,price from flower
<where>
<!--两种模糊查询的方式-->
<if test="param1!=null and param1!=''">
<bind name="pa" value="'%'+param1+'%'"></bind>
<!--将value拼接好的数据赋给pa,所以下面使用的是pa-->
name like #{pa}
</if>
<!--使用$而不是#, 相当于字符串拼接,可能会出现sql注入等问题,
建议使用#,就是第一种方式-->
<if test="param2!=null and param2!=''">
and production like '%${param2}%'
</if>
</where>
</select>
最后
以上就是过时母鸡为你收集整理的Mybatis(五 3)传入集合参数 和 模糊查询的全部内容,希望文章能够帮你解决Mybatis(五 3)传入集合参数 和 模糊查询所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复