java 分页读取数据[通俗易懂]

java 分页读取数据[通俗易懂]/***查询总条数*@return*/publicLongquerySize(){Connectionconn=null;PreparedStatementstmt=null;ResultSetrs=null;Stringsql=”se…

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

Jetbrains全系列IDE稳定放心使用

    /**
     * 查询总条数
     * @return
     */
    public Long querySize() {
        Connection conn = null;
        PreparedStatement stmt = null;
        ResultSet rs = null;
        String sql = " select count(*) as num from compare; ";
        Long size = 0L;
        try {
            conn = DBHelper.getConnection();
            stmt = conn.prepareStatement(sql);
            rs = stmt.executeQuery();
            while (rs.next()) {
                size = rs.getLong("num");
            }
            return size;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        } finally {
            if (rs != null) {
                try {
                    rs.close();
                    rs = null;
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            if (stmt != null) {
                try {
                    stmt.close();
                    stmt = null;
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }
    /**
     * @param pageNo   表示第几页
     * @param pageSize 表示每页的数量
     * @return
     */
    public List<String> query(int pageNo, int pageSize) {
        //计算起始值,比如假如每页条数为5,第一页是0 - 4,第二页是5 - 9;。。。。
        int pageStart = (pageNo - 1) * pageSize;
        Connection conn = null;
        PreparedStatement stmt = null;
        ResultSet rs = null;
        String sql = " select * from compare limit ?,?; ";
        List<String> mapList = new ArrayList<String>();
        try {
            conn = DBHelper.getConnection();
            stmt = conn.prepareStatement(sql);
            //把参数设置到 ?号里面
            stmt.setInt(1, pageStart);
            stmt.setInt(2, pageSize);
            rs = stmt.executeQuery();
            while (rs.next()) {
                mapList.add(rs.getString("id"));
            }
            return mapList;
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        } finally {
            if (rs != null) {
                try {
                    rs.close();
                    rs = null;
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            if (stmt != null) {
                try {
                    stmt.close();
                    stmt = null;
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }
import java.sql.Connection;
import java.sql.DriverManager;

public class DBHelper {
	
	private static final String driver = "com.mysql.jdbc.Driver";//数据库驱动
	private static final String url = "jdbc:mysql://localhost:3306/gumysql?useUnicon=true&characterEncoding=UTF-8";
	private static final String username = "root";
	private static final String password = "root";
	
	static
	{
		try 
		{
			Class.forName(driver);
		}
		catch (Exception e)
		{
			
			e.printStackTrace();
		}
	}
	
	private static Connection conn = null;
	//单例模式返回数据库连接
	public static Connection getConnection() throws Exception
	{
		if(conn == null)
		{
			conn = DriverManager.getConnection(url, username, password);
			return conn;
		}
		else
		{
			return conn;
		}
	}
}

 

import java.util.ArrayList;
import java.util.List;

public class Bootstrap {

    public static void main(String args[]){
        ReadDBPage read = new ReadDBPage();

        //查询数据库中总条数
        Long allSize = read.querySize();

        System.out.println("数据库中总数为:"+ allSize +" 条");

        List<String> allList = new ArrayList<String>();

        int pageSize = 5;//定义每页的条数

        //计算循环次数,即总页数  Math.ceil为向上取整
        int pages = (int) Math.ceil(allSize/(pageSize*1.0));
        System.out.println("总页数为:"+ pages +" 页");

        for(int i=1;i<=pages;i++){
            List<String> onePageList = read.query(i,pageSize);
            allList.addAll(onePageList);
            System.out.println("第"+ i +"页的数据为:"+ onePageList);
        }

        System.out.println("总数据为:"+ allList);
    }
}

推荐一个公众号

java 分页读取数据[通俗易懂]

号主为一线大厂架构师,CSDN博客专家,博客访问量突破一千万。主要分享Java、golang架构,源码,分布式,高并发等技术,用大厂程序员的视角来探讨技术进阶、面试指南、职业规划等。15W技术人的选择!

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

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

(0)
上一篇 2022年10月3日 下午12:36
下一篇 2022年10月3日 下午12:46


相关推荐

  • Cursor x GMI Cloud 零基础教程:用 Inference Engine 生成你的第一个小程序

    Cursor x GMI Cloud 零基础教程:用 Inference Engine 生成你的第一个小程序

    2026年3月15日
    1
  • 智能网关是路由器吗_一般路由器网关是多少

    智能网关是路由器吗_一般路由器网关是多少配制成路由网关filters作用是让页面请求地址变成自己设置的地址现在页面出现了400错误因为之前的renrne-fast里面自己配置了跨域等于配置了二个跨域所以我们配置跨域的时候要把他的注释掉addallowOriginPattern这个注解…

    2022年7月28日
    9
  • Hue部署

    Hue部署不推荐将 hue 和 mysql 装在同一台机器 因为会有依赖冲突 不好解决安装在 root 用户下用 yum 安装所依赖的系统包 root hadoop001hue 3 12 0 yum yinstallanta sasl develcyrus sasl gssapigccgcc c krb5 devellibtidy devellibx

    2026年3月17日
    1
  • python中eval函数作用「建议收藏」

    python中eval函数作用「建议收藏」eval是Python的一个内置函数,这个函数的作用是,返回传入字符串的表达式的结果。想象一下变量赋值时,将等号右边的表达式写成字符串的格式,将这个字符串作为eval的参数,eval的返回值就是这个表达式的结果。eval函数就是实现list、dict、tuple与str之间的转化,str函数把list,dict,tuple转为为字符串一、字符串转换成列表a=”[[1,2],[3,…

    2025年6月11日
    5
  • 新版 App Store 的副标题和宣传文本

    新版 App Store 的副标题和宣传文本今天提交审核 app 突然发现一个宣传文本功能 感觉好高大啊 哈哈 1 宣传文本宣传文本可通知 App nbsp Store 访客当前最新的 App 功能 您无需提交更新请求 如果客户的设备运行 iOS nbsp 11 或更高版本 在 App nbsp Store 中 宣传文本会显示在您的 App 名称下方 2 副标题 app 信息里可以设置副标题 您的 App 摘要 如果客户的设备运行 iOS nbsp 1

    2026年3月26日
    3
  • 2021年最好用&完全免费的图片压缩网站、软件推荐(包括GIF)

    2021年最好用&完全免费的图片压缩网站、软件推荐(包括GIF)最近我有遇到一个很奇怪的问题因为我不是转用AppleMusic本地化听歌了????所以很多歌的歌曲信息都是我自己补充的,当然也包括封面但我在用iTunes把歌传到iPhone上来听的时候,有首歌的封面怎么都同步不过来我来回同步了几遍,还重新连接了几次,甚至换回了有线来同步,这个封面始终都还是同步不上…我就一直奇了怪了直到我想重新编辑一下封面,重新添加,我才发现…好家伙,一张封面竟然有18M!?比我MP3本身都要大了,难怪我添加不上呢完全被它小小的外表给欺骗了我后来把图片

    2022年6月18日
    30

发表回复

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

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