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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • the jdbc driver has been_the tomcat connector configured

    the jdbc driver has been_the tomcat connector configured使用JDBC连接MySql时出现:Theservertimezonevalue’�й���׼ʱ��’isunrecognizedorrepresentsmorethanonetimezone.YoumustconfigureeithertheserverorJDBCdriver(viatheserverTimezoneconfiguration…

  • vim配置总结[通俗易懂]

    vim配置总结[通俗易懂]本篇博客主要包含我使用的vim配置和相关插件。也作一个常用vim快捷键的记录

  • C语言输出格式控制符汇总

    C语言输出格式控制符汇总C语言输出格式控制符汇总标志][输出最小宽度][.精度][长度]类型

  • 【软件工程】详细设计说明书

    【软件工程】详细设计说明书详细设计说明书1引言1.1编写目的说明编写这份详细设计说明书的目的,指出预期的读者。该文档实在概要设计的基础上,进一步的细化系统结构,展示了软件啊结构的图标,物理设计,数据结构设计,及算法设计,详细的介绍了系统各个模块是如何实现的,包括涉及到的算法,逻辑流程等,为下一步系统的实现和测试做准备!1.2背景说明:a.软件名称:机房收费系统;b.本项目的任务提出者:米新江…

  • PS2手柄通讯协议解析—附资料和源码「建议收藏」

    PS2手柄通讯协议解析—附资料和源码「建议收藏」文章目录一.PS2介绍二.PS2通讯协议介绍一.PS2介绍今天就带大家来认识一下PS2的通讯协议,如果你需要用PS2无线手柄搭配单面机来DIY制作,那么千万别错过这篇文章。首先介绍一下我们今天的主角–PS2手柄。PS2手柄是日本SONY公司的PlayStation2游戏机的遥控手柄。索尼的PSX系列游戏主机在全球都很畅销。不知什么时候便有人打起PS2手柄的主意,破解了通讯协议,使…

  • ResNet 18 网络结构「建议收藏」

    ResNet 18 网络结构「建议收藏」importtorchfromtorchvisionimportmodelsresnet=models.resnet18(pretrained=True)print(resnet)”””ResNet((conv1):Conv2d(3,64,kernel_size=(7,7),stride=(2,2),padding=(3,3),bias=False…

发表回复

您的电子邮箱地址不会被公开。

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