mybatis传入list的方法有哪些

avatar
作者
猴君
阅读量:0

MyBatis提供了以下几种传入List的方法:

  1. 使用List作为参数,传入多个值。在Mapper接口的方法中,可以直接使用List作为参数,并在SQL语句中使用foreach循环遍历List中的值。
public interface UserMapper {     List<User> getUserList(List<String> ids); } 
<select id="getUserList" parameterType="java.util.List">     SELECT * FROM users WHERE id IN     <foreach item="item" collection="list" separator="," open="(" close=")">         #{item}     </foreach> </select> 
  1. 使用数组作为参数,传入多个值。与List类似,只需要将List替换为数组即可。
public interface UserMapper {     List<User> getUserList(String[] ids); } 
<select id="getUserList" parameterType="java.lang.String[]">     SELECT * FROM users WHERE id IN     <foreach item="item" collection="array" separator="," open="(" close=")">         #{item}     </foreach> </select> 
  1. 使用包装类作为参数,传入多个值。可以定义一个包装类,将多个值封装到该类中,并在Mapper接口的方法中使用该包装类作为参数。
public class IdListWrapper {     private List<String> ids;      // getter and setter }  public interface UserMapper {     List<User> getUserList(IdListWrapper idListWrapper); } 
<select id="getUserList" parameterType="com.example.IdListWrapper">     SELECT * FROM users WHERE id IN     <foreach item="item" collection="ids" separator="," open="(" close=")">         #{item}     </foreach> </select> 

这些方法都可以实现传入List的功能,根据具体的需求选择适合的方法即可。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!