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


相关推荐

  • Vue 自定义指令作用

    Vue 自定义指令作用vue 中除了内置的指令外 vue 也允许注册自定义指令 应用场景 根据用户权限的不同在页面中显示不一样的东西 divid app buttonv permission admin 删除 button 编辑 button buttonv permission admin divid app

    2025年6月30日
    2
  • 华三路由交换配置命令_h3c路由器配置命令都有哪些 h3c路由器配置命令大全【详解】…[通俗易懂]

    华三路由交换配置命令_h3c路由器配置命令都有哪些 h3c路由器配置命令大全【详解】…[通俗易懂]对于一般的家庭路由器而言,我们是不需要对他进行配置的。因为家庭路由器这一种小型路由器一般都已经了确定的指令去执行。但是对于一些大型路由器而言,配置命令是非常重要的。正是因为有了配置命令的存在,才能够使大型路由器实行大规模的命令执行。那么接下来,小编就来给大家以H3C路由器为例子,讲讲大型路由器的一些常用基本配置命令吧。快捷键Ctrl+A,将光标移动到当前行的开头Ctrl+B,将光标向左移动一个…

    2022年10月17日
    3
  • visifire 控件

    visifire 控件引言Silverlight对于图形图像处理方面,从1.0时代起就给予了很强大的支持,所以我们可以在Silverlight中实现非常棒的各种统计图表,然而现在有了一些开源的项目,使得这项工作更加的简单。本文我将介绍一个开源的项目visifire,使用它可以在Silverlight2中实现超酷的图表。简单图表首先我们需要下载Visifire项目Silverlight开发包,在建立完项…

    2022年7月21日
    15
  • c++链式前向星_链式基数排序图解

    c++链式前向星_链式基数排序图解图的存储方法很多,最常见的除了邻接矩阵、邻接表和边集数组外,还有链式前向星。链式前向星是一种静态链表存储,用边集数组和邻接表相结合,可以快速访问一个顶点的所有邻接点,在算法竞赛中广泛应用。链式前向星存储包括两种结构:边集数组:edge[],edge[i]表示第i条边; 头结点数组:head[],head[i]存以i为起点的第一条边的下标(在edge[]中的下标)structnode{intto,next,w;}edge[maxe];//边集数组,边数一般要设置比ma…

    2025年7月17日
    2
  • FileSystemWatcher触发多次Change事件的解决办法

    FileSystemWatcher触发多次Change事件的解决办法FileSystemWatcher监视文件夹中数据变化时,会多次出发Change事件。EnableRaisingEvents=true,启动文件监控,网上查到的做法是通过一个定时器来避免多次触发。其实可以通过,在第一次触发后EnableRaisingEvents=false先关闭在打开EnableRaisingEvents=true,简单解决这个问题。

    2022年6月18日
    26
  • 为了解决linux配置Nginx 只能关闭防火墙才能访问的问题

    为了解决linux配置Nginx 只能关闭防火墙才能访问的问题

    2021年10月13日
    90

发表回复

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

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