1、struts实现数据库分页的代码及实现步骤Struts2.1实现数据分页第一步:先建数据库数据库中的数据:第二步:先建立数据库的连接数据库连接用的是数据库连接池package org;import java.sql.Connection;import java.sql.ResultSet;import java.sql.Statement;import javax.naming.Context;import javax.naming.InitialContext;import javax.naming.NamingException;import javax.sql.DataSource;pu
2、blic class DbPool private Connection conn; public void createConn()throws Exception try Context initContext = new InitialContext(); Context envContext = (Context)initContext.lookup(java:/comp/env); DataSource ds = (DataSource)envContext.lookup(jdbc/mysql); conn=ds.getConnection(); System.out.println
3、(数据库连接成功); catch (Exception e) System.out.println(数据库连接失败); e.printStackTrace(); public Connection getConn() throws Exception if(conn=null) createConn(); return conn;public ResultSet executeQuery(String sql) throws Exception ResultSet rs=null; if(conn=null) createConn(); try Statement st=(Statement)
4、this.conn.createStatement(); rs=st.executeQuery(sql); catch (Exception e) e.printStackTrace(); return rs;然后在下建一个context.xml用来读取配置信息 第三步:建web工程及文件部署第四步:建立相应显示数据库分页显示的jsp页面Show.jsp base href= My JSP show.jsp starting page !- - 全部用户 用户ID 姓名 年龄 个人简介 第页|总共页 1 首页 1 上一页 下一页 末页 第五步:struts2.0的相关配置1. xml的配置 /
5、showPerson.jsp 2. 需要的jar包3. allPersons的action类package action;import java.util.List;import model.Person;import com.opensymphony.xwork2.ActionSupport;import dao.PageDao;public class AllPersons extends ActionSupportprivate List persons;private int pageNumber=1;/当前页数private int pageSize=4;/每页显示的记录数priva
6、te int totalPage; /所有的用户对象public List getPersons() return persons;public void setPersons(List persons) this.persons = persons;private PageDao pageDao=new PageDao();public int getPageNumber() return pageNumber;public void setPageNumber(int pageNumber) this.pageNumber = pageNumber;public int getPageSi
7、ze() return pageSize;public void setPageSize(int pageSize) this.pageSize = pageSize;public int getTotalPage() return totalPage;public void setTotalPage(int totalPage) this.totalPage = totalPage;public String execute() persons=pageDao.allPersons(pageSize,pageNumber); totalPage=pageDao.getPersonAmount
8、()/pageSize; return SUCCESS;4. pageDao的代码:package dao;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;import javax.xml.registry.infomodel.PersonName;import org.DbPool;import model.Person;public class PageDao DbPool dbPool=new DbPool(); pri
9、vate Person person; PreparedStatement ps; ResultSet rs; public List allPersons(int pageSize,int pageNumber) List list=new ArrayList(); /String sql=select * from person limit ?,?; try / pstmt = this.getConnection().prepareStatement(/ select * from student order by stu_id limit +(pageNow*pageSize-page
10、Size)+,+pageSize/ ); if(pageSize0&pageNumber0) ps=dbPool.getConn().prepareStatement(select * from person order by personId limit +(pageNumber*pageSize-pageSize)+,+pageSize); / ps=dbPool.getConn().prepareStatement(/ select * from person order by personId limit +(pageNumber*pageSize-pageSize)+,+pageSi
11、ze/ ); rs=ps.executeQuery(); while(rs.next() person=new Person(); person.setPersonId(rs.getInt(1); person.setPersonName(rs.getString(2); person.setPersonAge(rs.getInt(3); person.setPersonInfo(rs.getString(4); list.add(person); catch (Exception e) e.printStackTrace(); return list; public int getPerso
12、nAmount() int i=0; String sql=select count(*) from person; PreparedStatement ps=null; try ps=dbPool.getConn().prepareStatement(sql); ResultSet rs =ps.executeQuery(); if(rs.next() i=rs.getInt(1); catch (Exception e) e.printStackTrace(); return i; 5. model包中的person代码:package model;public class Person
13、private int personId;private String personName;private String personInfo;private int personAge;public int getPersonId() return personId;public void setPersonId(int personId) this.personId = personId;public String getPersonName() return personName;public void setPersonName(String personName) this.per
14、sonName = personName;public String getPersonInfo() return personInfo;public void setPersonInfo(String personInfo) this.personInfo = personInfo;public int getPersonAge() return personAge;public void setPersonAge(int personAge) this.personAge = personAge;最后:项目运行的效果图: 在ie中输入http:/localhost:8080/showPerson/allPersons.action,则显示如下图所示的效果
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1