在线直播源码,java数据分页几种方式

在线直播源码,java数据分页几种方式

1.使用PageUtils

 

1
<br>Service:<br>  /**<br>     * 分页查询<br>     *<br>     * @param params 查询条件<br>     * @return PageUtils<br>     */<br>    PageUtils queryPage(Map<String, Object> params);<br>    <br>ServiceImpl:<br>  Page<数据库对象实体> page = this.selectPage(<br>                new Query<数据库对象实体>(params).getPage(),<br>                new EntityWrapper<数据库对象实体>()<br>                //MybatisPlus sql语句<br>                        .eq(字段,"匹配值")<br>                        //具体用法详情百度<br>                        .orderBy(按照排序的数据库字段, true)<br>        );<br>        return new PageUtils(page);<br> 

2.使用Page

 

1
<br>Service:<br>    /**<br>     * 分页查询<br>     * @param params 查询条件<br>     * @return <br>     */<br>    Page<数据库对象实体>  queryPage(Map<String, Object> params);<br>    <br>ServiceImpl:<br>  Page<数据库对象实体> page = new Page<>(Public.mapTo(params.get("page"), 1), Public.mapTo(params.get("pageSize"), 10));<br>  //可以手写sql,提高sql的灵活性(但是题主人懒,还是喜欢使用 MysqlbatisPlus 那种方式),但是可以锻炼你的SQL书写能力<br>        List<数据库对象实体> list = Dao.方法名(page, params);<br>        Page<数据库对象实体> pageInfo = page.setRecords(list);<br>        return pageInfo;<br>        <br>Dao:<br>List<数据库对象实体> 方法名 (Pagination page,Map<String, Object> map);<br>//具体的SQL就不写了<br> 

 

3.Jpa分页

 

需要一个分页类   Page4Navigator

 

1
Page<T> pageFromJPA;<br>    int navigatePages;<br>     <br>    int totalPages;<br> <br>    int number;<br>     <br>    long totalElements;<br>     <br>    int size;<br> <br>    int numberOfElements;<br> <br>    List<T> content;<br> <br>    boolean isHasContent;<br> <br>    boolean first;<br> <br>    boolean last;<br>     <br>    boolean isHasNext;<br> <br>    boolean isHasPrevious;<br>     <br>    int[] navigatepageNums;<br>     <br>    public Page4Navigator() {<br>        //这个空的分页是为了 Redis 从 json格式转换为 Page4Navigator 对象而专门提供的<br>    }<br>     <br>    public Page4Navigator(Page<T> pageFromJPA,int navigatePages) {<br>        this.pageFromJPA = pageFromJPA;<br>        this.navigatePages = navigatePages;<br>         <br>        totalPages = pageFromJPA.getTotalPages();<br>         <br>        number  = pageFromJPA.getNumber() ;<br>         <br>        totalElements = pageFromJPA.getTotalElements();<br>         <br>        size = pageFromJPA.getSize();<br>         <br>        numberOfElements = pageFromJPA.getNumberOfElements();<br>         <br>        content = pageFromJPA.getContent();<br>         <br>        isHasContent = pageFromJPA.hasContent();<br>                 <br>        first = pageFromJPA.isFirst();<br>         <br>        last = pageFromJPA.isLast();<br>         <br>        isHasNext = pageFromJPA.hasNext();<br>         <br>        isHasPrevious  = pageFromJPA.hasPrevious();       <br>         <br>        calcNavigatepageNums();<br>         <br>    }<br> <br>    private void calcNavigatepageNums() {<br>        int navigatepageNums[];<br>        int totalPages = getTotalPages();<br>        int num = getNumber();<br>        //当总页数小于或等于导航页码数时<br>        if (totalPages <= navigatePages) {<br>            navigatepageNums = new int[totalPages];<br>            for (int i = 0; i < totalPages; i++) {<br>                navigatepageNums[i] = i + 1;<br>            }<br>        } else { //当总页数大于导航页码数时<br>            navigatepageNums = new int[navigatePages];<br>            int startNum = num - navigatePages / 2;<br>            int endNum = num + navigatePages / 2;<br> <br>            if (startNum < 1) {<br>                startNum = 1;<br>                //(最前navigatePages页<br>                for (int i = 0; i < navigatePages; i++) {<br>                    navigatepageNums[i] = startNum++;<br>                }<br>            } else if (endNum > totalPages) {<br>                endNum = totalPages;<br>                //最后navigatePages页<br>                for (int i = navigatePages - 1; i >= 0; i--) {<br>                    navigatepageNums[i] = endNum--;<br>                }<br>            } else {<br>                //所有中间页<br>                for (int i = 0; i < navigatePages; i++) {<br>                    navigatepageNums[i] = startNum++;<br>                }<br>            }<br>        }  <br>        this.navigatepageNums = navigatepageNums;<br>    }

 

 以上就是 在线直播源码,java数据分页几种方式,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2022-05-09 android短视频开发,后台各个管理页面的分页管理
2022-05-09 直播平台搭建,全局过滤器(以时间过滤器为例)
2022-05-09 app直播源代码,Banner广告图片轮播控件
点击右上角即可分享
微信分享提示