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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 魔百盒CM211-2系列(ZG/CH/YS)海思MV300H/310芯片-刷机固件及教程

    魔百盒CM211-2系列(ZG/CH/YS)海思MV300H/310芯片-刷机固件及教程魔百盒CM211-2系列(ZG/CH/YS)海思MV300H/310芯片-刷机固件及教程固件说明:1、魔百盒CM211-2-全系列-海思Hi3798MV300H/310-通用NAND和EMMC卡刷固件,支持红外蓝牙遥控,支持常见多种无线,同时支持RTL8822BS、RTL8822CS、MT7661、MT7663、MT7668等无线;2、解除官方屏蔽无线功能,有线和无线正常使用;3、代工标识说明:一般没标识是朝歌代工,带有ZG字母的就是朝歌代工,带有CH字母的就是长虹代工,带有YS或YST字

    2022年7月24日
  • DNS服务器列表

    DNS服务器列表PublicDNS+IPv4地址首选:119.29.29.29AliDNS 阿里公共DNSIPv4地址首选:223.5.5.5备用:223.6.6.6114DNS常规公共DNS(干净无劫持)首选:114.114.114.114、备选:114.114.115.115拦截钓鱼病毒木马网站(保护上网安全)首选:114.114.114.119、备用:114.11…

    2022年4月30日
  • c语言:位运算符「建议收藏」

    c语言:位运算符「建议收藏」简介位运算符用来对二进制位进行操作,Java中提供了如下表所示的位运算符:位运算符中,除~以外,其余均为二元运算符。操作数只能为整型和字符型数据。C语言中六种位运算符:&按位与|按位或^按位异或~取反>>右移<<左移运算方法按位与运算按位与运算符”&”是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。位运算.

    2022年10月4日
  • CentOS7中配置网络连接[通俗易懂]

    CentOS7中配置网络连接[通俗易懂]    刚在VMware安装好的CentOS7,默认安装是没有开启配置网卡信息的,所以连不上网。尝试用两种配置来让CentOS7开启联网功能,一种是直接打开网络功能自动获取ip,会在设定的网段下面随机分配一个ip,另一种是设置固定ip,出于某些特殊的需求,例如要在局域网内做端口映射,需要将虚拟机设置成使用固定的局域网IP,即使虚拟机重启了,其局域网ip仍然不变。一、自动获取ip  …

    2022年5月27日
  • scp命令拷贝文件

    scp命令拷贝文件简介scp(securecopy)是一个基于SSH协议在网络之间进行安全传输的命令。如果是从本地拷贝到远程,格式为:scp文件用户名@IP地址:目标目录如果是从远程拷贝到本地,格式为:scp用户名@ip地址:带路径文件名本地目录参数-v显示详细的连接进度-P指定远程主机的sshd端口号-r用于传送文件夹-6使用IPv6协议例子从本地拷贝到远程[root@localhost~]#scpmyhistory.txtroot@192.168.31.

    2022年8月22日
  • 阿里云服务器centos 7上安装Apache

    阿里云服务器centos 7上安装Apache阿里云服务器centos 7上安装Apache

    2022年4月23日

发表回复

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

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