后端部分 springboot
- 第一步:在util包下定义PageBean<T>工具类用于接受一个分页查询结果
import java.util.List;
//数据库自定义分页查询的工具类
@Data
public class PageBean<T> {
private int currPage;//当前页数
private int pageSize;//每页的数据条数
private int totalCount;//总记录数
private int totalPage;//总页数
private List<T> lists;//每页的显示的数据
public PageBean() {
super();
@Override
public String toString() {
return \"PageBean{\" +
\"currPage=\" + currPage +
\" pageSize=\" + pageSize +
\" totalCount=\" + totalCount +
\" totalPage=\" + totalPage +
\" lists=\" + lists +
'';
- 第二步:具体业务实现serviceImpl
* 分页查询短信历史纪录
* @param currPage 第几页
* @param pageSize 每页显示的条数
* @return PageBean<Map<StringObject>> 这里我用map来接收数据库返回的信息 , 你也可以用你的实体类来接收PageBean<User>
*/
@Resource
private UserDaoMapper userDaoMapper; //这里改为你自己的mapper接口
public PageBean<User> findAllUser(int currPageint pageSize){
HashMap<String Object> map = new HashMap<>();//哈希集合存储不重复的数据
PageBean<User> pageBean = new PageBean<>();
//每页显示的数据条数
pageBean.setPageSize(pageSize);
//封装总记录数 , 获取总数
int totalCount = userDaoMapper.getUserNumber(); //改为你自己的接口
pageBean.setTotalCount(totalCount);
//如果没有数据直接返回
if(totalCount==0){
return pageBean;
//封装总页数
double tc = totalCount;
Double num = Math.ceil(tc / pageSize);//向上取整
pageBean.setTotalPage(num.intValue());
//传入的当前页小于1时则等于1 , 大于总页数则等于总页数也就是最后一页
if(currPage<1) currPage=1;
else if(currPage>pageBean.getTotalPage()) currPage = pageBean.getTotalPage();
//封装当前页数
pageBean.setCurrPage(currPage);
map.put(\"start\" (currPage - 1) * pageSize);
map.put(\"size\" pageBean.getPageSize());
//封装每页显示的数据
List<User> lists = userDaoMapper.findAllUser(map); //改为你自己的接口
for(User user:lists){
user.setPassword(\"\");
pageBean.setLists(lists);
return pageBean;
- 第三步:mapper的XML文件
<select id=\"findAllUser\" parameterType=\"Map\" resultType=\"map\">
select * from users limit #{start#{size
</select>
<!--获取用户的总数-->
<select id=\"getUserNumber\" resultType=\"int\">
select count(*) from users
</select>
- 第四步:接口层
* 获取历史记录
* limit 每页显示多少条数据
* page 第几页
* @return
*/
@GetMapping(\"/sms/getsmsloglist\")
public Result getSmslogList(@RequestParam(\"limit\") Integer limit@RequestParam(\"page\") Integer page) {
return userService.findAllUser(pagelimit); //调用业务实现 , 返回结果根据你自己的返回结构封装
前端部分
- 前端我用的element的table很简单 , 贴个简单示例
//totle : 数据总条数
//listQuery.page :第几页
//listQuery.limit : 每页显示几条数据
//@pagination=\"getList\" : 获取后端数据列表的方法
listallQuery: { //群发详情列表页首页数据
page: 1
limit: 10
type: 1
sort: '+id'
articleid: 0
getList() {
getuserlistall(this.listallQuery).then(response => {//后端API请求
this.list = response.data.articlelist.lists //后端传回的列表数据 , 绑定table
this.totalall = response.data.articlelist.totalCount //数据总条数
)
【数据库|Mybatis+element简单实现自定义数据库分页查询】
- 数据库|宽带自组网-300km超远距离无线通信
- |一加10Pro破界黑 简单开箱
- 麦克风|降噪超强的塞宾智麦无线麦克风,操作更简单,让视频音质更清晰
- 数据库|大学时用的U盘早过时了,2022该换新了!优盘良心推荐不含广告
- Windows11|win11免费升级即将结束?想“白嫖”要抓紧,一文教你简单安装
- excel|比Excel还简单,跳槽数据分析岗必会的工具
- 数据库|国内云计算形成“3+1”基本格局:数据库国产替代将释放巨大市场
- oppo find x|简单聊聊三星为新的折叠屏手机做了那些准备
- |超简单1分钟理解,公域流量和私域流量
- 路由器|一条宽带只能连15个设备?背后或许并不简单