java分页代码_基本分页存储管理java代码

java分页代码_基本分页存储管理java代码在java项目中不使用mybatis的pageHelper进行数据分页:1.分页工具类编写:importjava.util.List;publicclassPageModel<E>{//结果集privateList<E>list;//查询记录数privateinttotalRecords;…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

在java项目中不使用mybatis的pageHelper进行数据分页:

1. 分页工具类编写:

import java.util.List;

public class PageModel<E> {
    //结果集
    private List<E> list;

    //查询记录数
    private int totalRecords;

    //每页多少条数据
    private int pageSize;

    //第几页
    private int pageNo;

    /**
     * 总页数
     * @return
     */
    public int getTotalPages() {
        return (totalRecords + pageSize - 1) / pageSize;
    }

    /**
     * 取得首页
     * @return
     */
    public int getTopPageNo() {
        return 1;
    }

    /**
     * 上一页
     * @return
     */
    public int getPreviousPageNo() {
        if (pageNo <= 1) {
            return 1;
        }
        return pageNo - 1;
    }

    /**
     * 下一页
     * @return
     */
    public int getNextPageNo() {
        if (pageNo >= getBottomPageNo()) {
            return getBottomPageNo();
        }
        return pageNo + 1;
    }

    /**
     * 取得尾页
     * @return
     */
    public int getBottomPageNo() {
        return getTotalPages();
    }

    public List<E> getList() {
        return list;
    }

    public void setList(List<E> list) {
        this.list = list;
    }

    public int getTotalRecords() {
        return totalRecords;
    }

    public void setTotalRecords(int totalRecords) {
        this.totalRecords = totalRecords;
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    public int getPageNo() {
        return pageNo;
    }

    public void setPageNo(int pageNo) {
        this.pageNo = pageNo;
    }
}

2.数据库实体类

public class Demo {
    private  int id;
    private String name;

    public Demo(int id, String name) {
        this.id = id;
        this.name = name;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

3.数据分页查询(下面为一个方法,类名为:JdbcService)

/**
 * 
 * @param pageNo 当前第几页
 * @param pageSize 每页显示数据量
 * @return
 * @throws SQLException
 */
public PageModel getDate(int pageNo, int pageSize) throws SQLException {
    String sql = "select * from demo limit ?,?";
    PageModel pageModel = null;
    PreparedStatement pstm = null;
    ResultSet rs = null;
    Demo demo = null;
    Connection connection = null;
    List<Demo> list = new ArrayList<>();
    try {
     //分页查询的数据
        connection = getDataSource().getConnection();
        pstm = connection.prepareStatement(sql);
        pstm.setInt(1, (pageNo - 1) * pageSize);
        pstm.setInt(2,  pageSize);
        rs = pstm.executeQuery();
        while (rs.next()) {
          list.add(new Demo(rs.getInt("id"),rs.getString("name")));
        }
      //查询总条数
        ResultSet resultSet1 = pstm.executeQuery("select count(*) from demo");
        int total = 0;
        if (resultSet1.next()) {
            total = resultSet1.getInt(1);
        }
        resultSet1.close();
     //将数据放到分页工具类中
        pageModel = new PageModel<>();
        pageModel.setPageNo(pageNo);
        pageModel.setPageSize(pageSize);
        pageModel.setTotalRecords(total);
        pageModel.setList(list);
    } catch (SQLException e) {
        e.printStackTrace();
    } finally {
        if (rs != null) {
            rs.close();
        }
        if (pstm != null) {
            pstm.close();
        }
        if (connection != null) {
            connection.close();
        }
    }
    if (connection==null){
        System.out.println("close");
    }
    if (connection!=null){
        System.out.println(connection);
    }
    return pageModel;
}

4.controller层调用数据(一个接口方法)

//注解注入
Autowired
private JdbcService jdbcService;
@GetMapping("/getDemo")
public PageModel getDemo(int pageNo, int pageSize){
    PageModel date = null;
        try {
        date = jdbcService.getDate(pageNo, pageSize);
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return date;
}

5.显示结果解析

java分页代码_基本分页存储管理java代码

参考:https://www.open-open.com/lib/view/open1346772322162.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186465.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jupyter的代码能用pycharm运行吗_win10安装jupyter

    jupyter的代码能用pycharm运行吗_win10安装jupyter在Pycharm中安装及使用Jupyter(图文详解)文章目录在Pycharm中安装及使用Jupyter(图文详解)一、材料二、安装Jupyter三、配置Jupyter四、使用Jupyter1.使用Cell2.使用jupyterMarkdownPycharm更新了对Jupyter的功能支持,结合IntelliJ的自动补全代码,自动格式化代码,执行调试…

    2022年8月26日
    4
  • freemarker文件下,bootstrap 点击按钮,切换按钮上的图标

    freemarker文件下,bootstrap 点击按钮,切换按钮上的图标

    2021年7月15日
    93
  • 在线客服系统源码demo/PHP客服系统下载附php源码「建议收藏」

    在线客服系统源码demo/PHP客服系统下载附php源码「建议收藏」在线客服系统软件为每个客户提供个性化的一对一支持。在线客服系统源码安装实时聊天小部件在尽可能多的网站和博客上并可定制聊天小部件完全适合您的网站。从一系列颜色和选项混合搭配。在线客服系统附源码演示及下载地址:ym.ws58.net在线客服系统源码H5通过为常见答案和回复创建快捷方式来节省时间。基于thinkphp在网页线客服完整源码下载地址:ym.ws58.net在聊天室里点击一个按钮就可以看到这些,只需单击一次即可将聊天内容传送到其他代理。团队合作以取悦顾客。实时聊天小部件跟踪访问者浏览您.

    2022年7月19日
    19
  • phpstrom 2021.12激活码[最新免费获取]

    (phpstrom 2021.12激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html1435QFILVV-eyJsaWN…

    2022年3月30日
    41
  • Nginx 路由转发和反向代理 location 配置「建议收藏」

    Nginx 路由转发和反向代理 location 配置「建议收藏」Nginx配置直接替换location匹配部分proxy_pass的目标地址,默认不带/,表示只代理域名,url和参数部分不会变(把请求的path拼接到proxy_pass目标域名之后作为代理的URL)proxy_pass的目标地址后增加/,则表示把path中location匹配成功的部分剪切掉之后再拼接到proxy_pass目标地址例子例如下面的配置,当我们访问http://44.179.118.54:80/shop/xxx的时候访问

    2022年10月19日
    0
  • 字符串常量池、class常量池和运行时常量池「建议收藏」

    字符串常量池、class常量池和运行时常量池「建议收藏」 原文链接:http://tangxman.github.io/2015/07/27/the-difference-of-java-string-pool/                 在java的内存分配中,经常听到很多关于常量池的描述,我开始看的时候也是看的很模糊,网上五花八门的说法简直太多了,最后查阅各种资料,终于算是差不多理清了,很多网上说法都有问题,笔者尝试着…

    2022年9月10日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号