会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132382个问题

老师运行结果有点不对呢?

/**
 * 分页查询测试类
 */
public class PageTest {
    /**
     * 分页查询Usera
     */
    public Page<Users> selectPage(Page page){
        Connection conn=null;
        PreparedStatement ps=null;
        ResultSet rs=null;
        List<Users> list=new ArrayList<>();
        try {
            //获取连接对象
            conn= JdbcUtils.getConnection();
            //创建PreparedStatement对象
            ps = conn.prepareStatement("select * from users limit ?,?");
            //绑定m参数  m的值 = (当前页-1)*每页显示的条数//绑定m参数 m的值=(当前页-1) * 每页显示的条数
            ps.setInt(1,(page.getCurrentPage()-1)*page.getPageSize());
            //绑定n参数 n的值为每页显示的条数
            ps.setInt(2,page.getPageSize());
            //执行查询
            rs=ps.executeQuery();
            //处理结果集
            while (rs.next()){
                //完成ORM映射
                Users users=new Users();
                users.setUserid(rs.getInt("userid"));
                users.setUsername(rs.getString("username"));
                users.setUserage(rs.getInt("userage"));
                list.add(users);
            }
            //将结果集存放到Page对象中
            page.setResult(list);
            //查询总条数
            ps = conn.prepareStatement("select count(*) from users");
            //执行查询
            rs=ps.executeQuery();
            while (rs.next()){
                //总条数
                int count=rs.getInt(1);
                //保存总条数
                page.setTotalCount(count);
                //换算总页数=总条数/每页显示的条数  向上取整
                int totalPage=(int)Math.ceil(1.0*count/page.getPageSize());
                //保存总页数
                page.setTotalCount(totalPage);
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            JdbcUtils.closeResourse(rs,ps,conn);
        }
        return page;
    }

    public static void main(String[] args) {
        PageTest pt=new PageTest();
        Page page=new Page();
        page.setCurrentPage(1);
        page.setPageSize(2);
        Page p=pt.selectPage(page);
        System.out.println("总条数: "+p.getTotalCount());
        System.out.println("总页数: "+p.getTotalPage());
        System.out.println("当前页: "+p.getCurrentPage());
        System.out.println("每页显示的条数: "+p.getPageSize());
        List<Users> list=p.getResult();
        for (Users user:list){
            System.out.println(user.getUserid()+" "+user.getUsername()+" "+user.getUserage());
        }
    }
}

2.png

JAVA 全系列/第三阶段:数据库编程/JDBC技术 469楼
JAVA 全系列/第三阶段:数据库编程/MySQL数据库的使用 471楼
JAVA 全系列/第三阶段:数据库编程/MySQL数据库的使用 478楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637