当前位置: 首页 > news >正文

分页技术关键代码(java连接mysql)

关键代码及其思路:

1.定义变量:

(1)pageCount  总共的页数(未知)

(2)pageSize  每页显示的记录数(已知)

(3)pageNow  希望显示的当前页(已知,一般赋值为1)

(4)rowCount  总共的记录数(未知)

2. 计算pageCount和rowCount

(1)求pageCount:

if(rowCount % pageSize == 0) {

  pageCount = rowCount / pageSize; 

}else {

  pageCount = rowCount /pageSize + 1;

}

(2)求rowPage:

PreparedStatement ps = con.prepareStatement("select count(*) from users");

ResultSet rs = ps.executeQuery();

if(rs.next()) {

  rowCount = rs.getInt(1);

}

3.java连接数据库

(1)加载JDBC     Class.forName("com.mysql.jdbc.Driver");

(2)数据库连接    Connection con = DriverManager.getConnection("jdbc.mysql://localhost:3306/数据库名称","用户名","密码");

 Connection con = DriverManager.getConnection("jdbc.mysql://localhost:3306/db_user","root","");

(3)用于执行sql语句 PreparedStatement ps = con.prepareStatement("sql语句");

应用实例:

i.PreparedStatement ps = con.prepareStatement("select count(*) from users");

ii.PreparedStatement ps = con.prepareStatement("select * from users limit ?,?");

给?赋值法:

ps.setInt(1,(pageNow-1)*pageSize);

ps.setInt(2,pageSize);

(4) ResultSet rs = ps.executeQuery();

4.html格式声明和处理中文乱码

res.setContentType("text/html;charset=utf8");

5.插入图片

PrintWriter pw = res.getWriter();

pw.println("<img height=100px width=100px src=imgs/KSYoon.jpg>");

 

6.分页链接

(1)页数链接(将所有的页数都显示输出)

for(int i=1;i<=pageCount;i++) {

  pw.println("<a href=wel3?pageCur="+i+">"+i+"</a>");

}

注意点:当页数过多时,显示的页数过于冗长,为了改善这一缺点,采取显示部分页数的方法

for(int i=pageNow;i<pageNow+10;i++) {

  pw.println("<a href=wel3?pageCur="+i+">"+i+"</a>");

}

(2)上一页链接(点击后当前页数加1)

if(pageNow!=1) {

  pw.println("<a href=wel3?pageCur="+(pageNow-1)+">上一页</a>");

}

(3)下一页链接(点击后当前页数减1)

if(pageNow!=pageCount) {

  pw.println("<a href=wel3?pageCur="+(pageNow+1)+">下一页</a>");

}

7.动态接收pageCur(重点)

String sPageNow = req.getParameter("pageCur");

if(sPageNow!=null) {

  pageNow = Integer.parseInt(sPageNow);

}

 

 

 

           

转载于:https://www.cnblogs.com/KSYoon/p/9405108.html

相关文章:

  • python地址解析经纬度,城市
  • 前端攻城师
  • python学习之老男孩python全栈第九期_day027知识点总结——反射、类的内置方法
  • 我的KT库之-----认识KT
  • 深度学习将成为中国监控市场增长的新引擎
  • Android 开源框架 ( 八 ) 注解框架---ButterKnife
  • activiti学习--05流程实例:部署流程定义+部署流程定义+查询当前人的个人任务+完成我的任务...
  • will-change
  • 京东研发编程马拉松 从实践出发历练人才
  • SUSE 磁盘分区表格式
  • 难受!!!!!!!被歧视了
  • 高德地图发布上海迪士尼出行攻略 独家上线智慧景区解决方案
  • 从尾到头打印链表
  • UI组件库jQWidgets更新至v5.2.0,新增Angular枢轴网格丨附下载
  • 干净的架构The Clean Architecture_软件架构系列
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • Apache的基本使用
  • docker容器内的网络抓包
  • JavaScript HTML DOM
  • jQuery(一)
  • JSDuck 与 AngularJS 融合技巧
  • LeetCode29.两数相除 JavaScript
  • Linux Process Manage
  • PAT A1017 优先队列
  • PHP 程序员也能做的 Java 开发 30分钟使用 netty 轻松打造一个高性能 websocket 服务...
  • python_bomb----数据类型总结
  • Python学习笔记 字符串拼接
  • QQ浏览器x5内核的兼容性问题
  • SpiderData 2019年2月16日 DApp数据排行榜
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • vue自定义指令实现v-tap插件
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 技术胖1-4季视频复习— (看视频笔记)
  • 精彩代码 vue.js
  • 七牛云 DV OV EV SSL 证书上线,限时折扣低至 6.75 折!
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 收藏好这篇,别再只说“数据劫持”了
  • 转载:[译] 内容加速黑科技趣谈
  • const的用法,特别是用在函数前面与后面的区别
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • (ibm)Java 语言的 XPath API
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (定时器/计数器)中断系统(详解与使用)
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (一)UDP基本编程步骤
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转载)Linux 多线程条件变量同步
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .Net6 Api Swagger配置
  • .skip() 和 .only() 的使用
  • @ConfigurationProperties注解对数据的自动封装