当调用接口:
- public List<User> selectUserInIDs(List<Integer> ids,String name);
userMapper.xml的书写应该为:
- <select id="selectUserInIDs" resultType="User">
- select * from user where id in
- <foreach collection="param1" item="item" open="(" separator="," close=")">
- #{item}
- </foreach>
- and name = #{param2}
- </select>
mybatis会自动将多个不同类型的参数改成param1,param2...
或者采用Mybatis的Annotation(@Param):
只需要在Dao层的方法中加入注解,如下
- public List<User> selectUserInIDs(@Param("ids")List<Integer> ids,@Param("user")User user);
- <select id="selectUserInIDs" resultType="User">
- select * from user
- <if test="null != ids">
- where id in
- <foreach collection="ids" item="item" open="(" separator="," close=")">
- #{item}
- </foreach>
- and name = #{user.name}
- </if>
- </select>