mybatis-plus的BaseMapper如何根据id列表查询数据?
时间: 2023-12-08 22:03:21 浏览: 433
使用MyBatis-Plus的BaseMapper,可以通过`selectBatchIds()`方法根据id列表查询数据。`selectBatchIds()`方法接受一个id列表作为参数,并返回对应的数据列表。
以下是一个示例代码:
```java
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface MyMapper extends BaseMapper<MyEntity> {
List<MyEntity> selectByIds(@Param("ids") List<Long> ids);
}
```
在上述代码中,`MyMapper`继承了`BaseMapper`,并添加了一个名为`selectByIds()`的自定义查询方法。该方法接受一个名为`ids`的参数,类型为`List<Long>`,用于传入id列表。使用`@Param`注解指定参数名称,确保与SQL语句中的参数名称一致。
然后,在XML映射文件中编写对应的SQL语句:
```xml
<select id="selectByIds" parameterType="java.util.List" resultType="com.example.MyEntity">
SELECT * FROM my_table
WHERE id IN
<foreach item="item" collection="ids" open="(" separator="," close=")">
#{item}
</foreach>
</select>
```
在上述XML中,我们使用`<foreach>`标签来遍历传入的id列表,并在SQL语句中使用`IN`关键字进行筛选。
最后,你可以在代码中调用`selectByIds()`方法来执行查询操作:
```java
@Autowired
private MyMapper myMapper;
public List<MyEntity> getDataByIds(List<Long> ids) {
return myMapper.selectByIds(ids);
}
```
这样就可以根据id列表查询数据了。希望对你有所帮助!
阅读全文