@Select("SELECT * FROM staff ORDER BY id LIMIT #{pageSize} OFFSET #{offset}")
List<Staff> queryStaffs(int offset, int pageSize);
@Select("SELECT COUNT(*) FROM staff")
Integer countStaffs();
(2)Test
java复制代码
// 分页参数计算
int pageNum = 2; // 当前页码
int pageSize = 2; // 每页条数
int offset = (pageNum - 1) * pageSize;
List<Staff> staffs = staffMapper.queryStaffs(offset, pageSize);
int total = staffMapper.countStaffs();
int pageTotal = (int) Math.ceil((double) total / pageSize);
for (Staff staff : staffs) {
System.out.println(staff);
}
System.out.println("pageNum: " + pageNum);
System.out.println("pageSize: " + pageSize);
System.out.println("pageTotal: " + pageTotal);
System.out.println("total: " + total);
@Select("SELECT * FROM staff ORDER BY id LIMIT #{pageSize} OFFSET #{offset}")
List<Staff> queryStaffs(int offset, int pageSize);
@Select("SELECT COUNT(*) FROM staff")
Integer countStaffs();
3、Service
StaffService.java
java复制代码
public interface StaffService {
PageResult<Staff> queryStaffs(int pageNum, int pageSize);
}
StaffServiceImpl.java
java复制代码
@Service
public class StaffServiceImpl implements StaffService {
@Autowired
private StaffMapper staffMapper;
@Override
public PageResult<Staff> queryStaffs(int pageNum, int pageSize) {
int offset = (pageNum - 1) * pageSize;
List<Staff> staffs = staffMapper.queryStaffs(offset, pageSize);
int total = staffMapper.countStaffs();
int pageTotal = (int) Math.ceil((double) total / pageSize);
return new PageResult<>(staffs, pageNum, pageSize, pageTotal, total);
}
}
4、Test
java复制代码
PageResult<Staff> staffPageResult = staffService.queryStaffs(1, 5);
List<Staff> staffs = staffPageResult.getData();
int pageNum = staffPageResult.getPageNum();
int pageSize = staffPageResult.getPageSize();
int pageTotal = staffPageResult.getPageTotal();
int total = staffPageResult.getTotal();
for (Staff staff : staffs) {
System.out.println(staff);
}
System.out.println("pageNum: " + pageNum);
System.out.println("pageSize: " + pageSize);
System.out.println("pageTotal: " + pageTotal);
System.out.println("total: " + total);