前些天就写了个分页的,http://skymr.iteye.com/blog/665242
那个不太好,在写配置信息时都得在servlet中,每使用一次可得重写配置,而且在取得页面总数时,得使用sql语句重新查询,学习了一下dom4j解析xml,昨天又配置了Hiberate,想把知识巩固一点,于是赶紧完善了这个分页的插件。
在配置好xml文件后,只要在请求分页时,传入要显示的页码,读取xml文件,再实例化一个pojo类,查询数据库,调用对应的set方法,存于session中即可。
1.编写pojo类,如:
package cn.netjava.model; public class User { private String name; private int id; private String pwd; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public int getId() { return id; } public void setId(int id) { this.id = id; } }
2.实现cn.netjava.db.DB_Interface接口
如:
package a; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import cn.netjava.db.DB_Interface; import cn.netjava.debug.Log; public class A implements DB_Interface{ Connection conn = null; public Connection getConn() { String url="jdbc:mysql://localhost:3306/catpage"; String root="root"; String pwd="root"; Log.printLog("user:"+root+"\tpwd:"+pwd); if(conn!=null){ return conn; } try { Log.printLog("user:"+root+"\tpwd:"+pwd); Class.forName("com.mysql.jdbc.Driver"); Log.printLog("user:"+root+"\tpwd:"+pwd); conn=DriverManager.getConnection(url,root,pwd); Log.printLog("连接成功"); } catch (ClassNotFoundException e) { e.printStackTrace(); Log.printLog(this.getClass()+"中,找不到Driver"); } catch (SQLException e) { e.printStackTrace(); Log.printLog(this.getClass()+"中,连接出错"); } return conn; } }
这个类该怎么写就看自己了,如果不想再建一个Connection,一定要把Connection对象传入。
3。编写pc.cfg.xml文件,在src里新建xml文件,命名为pc.cfg.xml
xml编写格式:
<?xml version="1.0" encoding="UTF-8"?> <users> <pc id="1">//分页id //name为pojo类名 //table为表名 //dbclassname为实现DB_Interface接口的类名 <class name="cn.netjava.model.User" table="user" dbclassname="cn.netjava.db.A"> //name为pojo类里的属性,column为对应数据库里的字段名 <property name="id" column="id"/> <property name="name" column="name"/> <property name="pwd" column="pwd"/> //每页显示数目 <per num="10"/> </class> </pc> </users>
4。控制显示,在servlet里写,如:
package a; import java.io.IOException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import cn.netjava.plugin.PageDao; public class Control extends HttpServlet { public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String spage = request.getParameter("page");//用户请求显示哪一页 PageDao pd = PageDao.create(1);//传入分页id,我们的配置文件xml里只有一个id=1; HttpSession session = request.getSession(); int page = 0; if(spage!=null){ page = Integer.parseInt(spage); } try{ int pagenum = pd.getTotalPage();//得到总页数 session.setAttribute("pagenum",pagenum); session.setAttribute("pageindex",page); List<Object> listuser = pd.getType(page);//得到pojo实例列表 session.setAttribute("listuser",listuser); response.sendRedirect("cutpage.jsp"); } catch(Exception e){ e.printStackTrace(); } } }
5.jsp页面
共${pagenum }页 <table> <tr> <td>id</td> <td>name</td> <td>密码</td> </tr> <% List<Object> listuser = (List<Object>)session.getAttribute("listuser"); for(Object o : listuser) { User u = (User)o; %><tr> <td><%=u.getId() %></td> <td><%=u.getName() %></td> <td><%=u.getPwd() %></td> </tr> <% } %> </table> <input type = "button" value="上一页" onclick="before()"> <input type = "button" value="下一页" onclick="next()"> <script type="text/javascript"> function before() { window.location.href="control?page="+${pageindex-1}; } function next() { window.location.href="control?page="+${pageindex+1}; } </script>
- pagecut.jar (298.7 KB)
- 下载次数: 11
- doc.rar (88.5 KB)
- 下载次数: 8
发表评论
-
java中断线程
2015-05-21 18:29 614Thread.stop方法可能中断线程,但不安全,此方法都 ... -
NIO下载服务器模拟实现(一)
2015-05-21 11:28 0从JDK 1.4开始,Java的标 ... -
java NIO教程
2015-05-18 10:39 0Java NIO提供了与标准IO ... -
Java反射,改变final属性
2015-05-16 16:58 528问: 怎么改变final属性? public cl ... -
直接插入排序
2015-05-09 17:47 543插入排序包括 直接插入排序, 折半插入排序, Shell排序 ... -
曾经的笔试题-- java Cloneable
2015-05-09 10:12 0public class CloneTest { ... -
一个公司的笔试题
2015-05-09 08:02 01.编程题,用两个线程实现对容量为10的队列的加入与取出. ... -
Shell排序
2014-03-26 17:01 0在 -
快速排序
2015-05-09 13:52 342快速排序使用分治法策略来把一个串行分为两个子串行。 步骤 ... -
java 虚拟机加载机制
2014-03-25 10:42 0虚拟机把描述类的数据从class文件加载到内存,并对数据进 ... -
java Class 类
2014-03-25 10:01 0Class对象 是用来创建类的常规对象的,当我们编译一个Ja ... -
成都网丁有限公司面试题
2014-03-24 16:44 0OO OO的原理 值传递与引用传递 ... -
自律编(一) java访问修饰符
2014-03-24 16:23 0一直以为java里只有三种访问修饰符 public, pr ... -
华莱公司笔试
2014-03-12 19:49 0public class Test { publi ... -
sleep与wait
2014-03-03 14:43 0Obj.wait(),与Obj.notify()必须要与syn ... -
线程、进程
2014-03-03 14:39 0线程:程序内部独立运行单位 线程与进程区别: 1 ... -
transient
2014-03-03 13:59 0java语言的关键字,变量修饰符,如果用transient声 ... -
java中关键字volatile的作用
2014-03-03 13:57 0用在多线程,同步变量。 线程为了提高效率,将某成员变量(如A ... -
手机音响(一) java客户端逻辑层
2014-02-17 10:48 0北京科*公司配了一台电脑给我,但没有声音,耳机要连到主机箱 ... -
游戏 压力测试工具
2014-02-14 18:16 0公司让我为游戏做个 压力测试工具 ...
相关推荐
NULL 博文链接:https://skymr.iteye.com/blog/665242
有说明,数据库,简单的JAVA连接MYsql数据库操作的小例子
MySQL+java类+JSP 分页 导入MyEclipse,引入mysql-connector-java-5.0.4-bin.jar 执行SQL/MySQL.sql
(基于mysq的Java毕业设计)在线医疗咨询网站系统(源码) 【项目技术】 开发语言:Java 架构:B/S 数据库:mysql 【实现功能】 患者功能模块:在患者系统首页可以查看个人信息、病历信息、药品信息、医生信息、科室信息...
基于java+swing+mysq学生成绩管理系统课程设计报告.docx 基于java+swing+mysq学生成绩管理系统课程设计报告.docx 基于java+swing+mysq学生成绩管理系统课程设计报告.docx 基于java+swing+mysq学生成绩管理系统课程...
Struts2+jdbc+mysq分页Demo
mysql limit两个参数:第一个参数表示从第几条记录开始,第二个参数表示要查询多少条记录
基于java+swing+mysq学生信息管理系统(高期末大作业)项目已获导师指导并通过的95分的高分期末大作业项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 该系统功能完善、界面美观、操作...
GUI+Mysq学生管理系统,增删查改。 首先要确定要做哪些功能 使用数据库来保存数据 能增删改查学生的信息(学号,名称,年龄,性别,出生日期) ② 表结构设计 根据需求,那么只需要一个 student 表就能够完成功能...
项目名称:基于Java学生信息管理系统 主要技术:java、awt、swing等技术 运行工具:eclipse/MyEclipse都可以,eclipse最兼容 数 据 库: Mysql5.5/5.7/8.0版本 适用场景:课程设计参考学习、毕业设计参考学习 ...
项目名称:基于Java学生信息管理系统 主要技术:java、awt、swing等技术 运行工具:eclipse/MyEclipse都可以,eclipse最兼容 数 据 库: Mysql5.5/5.7/8.0版本 适用场景:课程设计参考学习、毕业设计参考学习 ...
java连接mysql的jar,java连接mysql数据库时使用。
基于java+swing+mysq学生成绩管理系统(高分课程设计+课程报告)项目已获导师指导并通过的95分的高分期末大作业项目,可作为课程设计和期末大作业,下载即用无需修改,项目完整确保可以运行。 该系统功能完善、界面...
项目名称:基于Java学生信息管理系统 主要技术:java、awt、swing等技术 运行工具:eclipse/MyEclipse都可以,eclipse最兼容 数 据 库: Mysql5.5/5.7/8.0版本 适用场景:课程设计参考学习、毕业设计参考学习 ...
本人自己简单整理的有关php分页技术的笔记,希望对有需要帮助的盆友能有所帮助。如有不足,还望指正。