用mybatis-plus写一个分页查询加多个条件查询
时间: 2024-05-02 18:18:29 浏览: 104
假设我们有一个实体类User,其中包含了id、name、age和gender等属性。
1. 首先,我们需要定义一个继承于BaseMapper的接口UserMapper,用来操作User表。
```
public interface UserMapper extends BaseMapper<User> {
}
```
2. 接着,在UserMapper中定义一个分页查询方法,使用@Param注解传入多个条件查询参数。
```
List<User> selectUserPage(Page<User> page, @Param("name") String name, @Param("age") Integer age, @Param("gender") String gender);
```
3. 在xml文件中实现该方法,使用<if>标签判断是否传入了对应的查询参数,如果传入了,则加入到查询条件中。
```
<select id="selectUserPage" resultMap="userMap">
select * from user
<where>
<if test="name != null and name != ''">
and name like concat('%', #{name}, '%')
</if>
<if test="age != null">
and age = #{age}
</if>
<if test="gender != null and gender != ''">
and gender = #{gender}
</if>
</where>
order by id desc
limit #{page.offset}, #{page.limit}
</select>
```
4. 最后,在调用该方法时,传入分页参数和条件查询参数即可。
```
Page<User> page = new Page<>(1, 10);
List<User> userList = userMapper.selectUserPage(page, "张三", null, "男");
```
阅读全文