mybatis-plus分页模糊查询
时间: 2023-04-28 11:00:52 浏览: 438
mybatis分页及模糊查询功能实现
使用Mybatis-Plus进行分页模糊查询,可以通过以下步骤实现:
1. 在Mapper接口中定义分页查询方法,使用@Select注解指定SQL语句,使用@Param注解指定参数。
2. 在SQL语句中使用LIKE关键字进行模糊查询,使用LIMIT关键字进行分页查询。
3. 在Service层调用Mapper接口中定义的分页查询方法,传入分页参数和模糊查询参数。
4. 在Controller层中接收前端传来的分页参数和模糊查询参数,调用Service层中的方法进行查询。
5. 将查询结果封装成Page对象返回给前端。
示例代码:
Mapper接口:
@Mapper
public interface UserMapper extends BaseMapper<User> {
@Select("SELECT * FROM user WHERE name LIKE CONCAT('%',#{name},'%') LIMIT #{offset},#{limit}")
List<User> selectUserList(@Param("name") String name, @Param("offset") int offset, @Param("limit") int limit);
}
Service层:
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public Page<User> getUserList(String name, int pageNum, int pageSize) {
Page<User> page = new Page<>(pageNum, pageSize);
List<User> userList = userMapper.selectUserList(name, page.getOffset(), page.getLimit());
page.setRecords(userList);
return page;
}
}
Controller层:
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/list")
public Page<User> getUserList(@RequestParam(required = false) String name,
@RequestParam(defaultValue = "1") int pageNum,
@RequestParam(defaultValue = "10") int pageSize) {
return userService.getUserList(name, pageNum, pageSize);
}
}
阅读全文