mybatis-plus如何实现分页
时间: 2023-04-28 18:04:11 浏览: 139
Mybatis-Plus可以通过Page类来实现分页功能。具体步骤如下:
1. 在mapper接口中定义查询方法,方法参数中需要传入Page对象。
2. 在mapper.xml文件中编写查询语句,使用limit关键字限制查询结果的数量。
3. 在service层中调用mapper接口中的查询方法,传入Page对象和查询条件。
4. 在controller层中获取查询结果,并将结果封装到Page对象中返回给前端。
示例代码如下:
1. mapper接口定义查询方法
```
public interface UserMapper extends BaseMapper<User> {
List<User> selectUserList(Page<User> page, @Param("name") String name);
}
```
2. mapper.xml文件中编写查询语句
```
<select id="selectUserList" resultType="com.example.demo.entity.User">
select * from user where name like concat('%',#{name},'%')
limit #{page.offset}, #{page.size}
</select>
```
3. service层中调用mapper接口中的查询方法
```
@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(page, name);
page.setRecords(userList);
return page;
}
}
```
4. 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);
}
}
```
阅读全文