实现方案:
使用map传参实现多个参数传递
示例:talk is cheap,show my code;
/**
* service 调用
*/
Integer age = 10;
List<String> list = new ArrayList<String>();
list.add("xing");
list.add("huo");
Map<String, Object> map = new HashMap<String, Object>();
map.put("list", list);
map.put("type", age );
findListByNameAndAge = ageMapper.findListByNameAndAge (map);
/**
* Mapper.class
*/
List<User> findListByNameAndAge(Map<String,Object> map);
/**
* Mapper.xml
*/
<select id="findListByNameAndAge" parameterType="java.util.Map" resultType="com.shiro.model.vo.User" >
SELECT
t1.id,
t1.name,
t1.age
FROM
user AS t1
WHERE
1=1
and age=#{age}
<if test=" list != null">
AND (
t1.name IN
<foreach collection="list" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
)
</if>
</select>