pagehelper动态多条件查询
时间: 2023-11-06 13:05:22 浏览: 64
使用PageHelper进行动态多条件查询,可以通过以下步骤实现:
1. 在Mapper接口中定义方法,方法参数为一个包含查询条件的对象,返回值为List集合。
2. 在Mapper.xml文件中编写SQL语句,使用if标签判断查询条件是否存在,如果存在则拼接到SQL语句中。
3. 在Service层调用Mapper接口中定义的方法,传入查询条件对象,并使用PageHelper进行分页处理。
示例代码如下:
Mapper接口:
```
public interface UserMapper {
List<User> findUsersByCondition(UserCondition condition);
}
```
Mapper.xml文件:
```
<select id="findUsersByCondition" resultType="User">
SELECT * FROM user
<where>
<if test="name != null and name != ''">
AND name = #{name}
</if>
<if test="age != null">
AND age = #{age}
</if>
<if test="gender != null and gender != ''">
AND gender = #{gender}
</if>
</where>
</select>
```
Service层:
```
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public PageInfo<User> findUsersByCondition(UserCondition condition, int pageNum, int pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<User> userList = userMapper.findUsersByCondition(condition);
return new PageInfo<>(userList);
}
}
```
阅读全文