struts实现数据库分页的代码及实现步骤.docx

上传人:b****2 文档编号:24517337 上传时间:2023-05-28 格式:DOCX 页数:14 大小:77.46KB
下载 相关 举报
struts实现数据库分页的代码及实现步骤.docx_第1页
第1页 / 共14页
struts实现数据库分页的代码及实现步骤.docx_第2页
第2页 / 共14页
struts实现数据库分页的代码及实现步骤.docx_第3页
第3页 / 共14页
struts实现数据库分页的代码及实现步骤.docx_第4页
第4页 / 共14页
struts实现数据库分页的代码及实现步骤.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

struts实现数据库分页的代码及实现步骤.docx

《struts实现数据库分页的代码及实现步骤.docx》由会员分享,可在线阅读,更多相关《struts实现数据库分页的代码及实现步骤.docx(14页珍藏版)》请在冰豆网上搜索。

struts实现数据库分页的代码及实现步骤.docx

struts实现数据库分页的代码及实现步骤

Struts2.1实现数据分页

第一步:

先建数据库

数据库中的数据:

第二步:

先建立数据库的连接

数据库连接用的是数据库连接池

packageorg;

importjava.sql.Connection;

importjava.sql.ResultSet;

importjava.sql.Statement;

importjavax.naming.Context;

importjavax.naming.InitialContext;

importjavax.naming.NamingException;

importjavax.sql.DataSource;

publicclassDbPool{

privateConnectionconn;

publicvoidcreateConn()throwsException{

try{

ContextinitContext=newInitialContext();

ContextenvContext=(Context)initContext.lookup("java:

/comp/env");

DataSourceds=(DataSource)envContext.lookup("jdbc/mysql");

conn=ds.getConnection();

System.out.println("数据库连接成功");

}catch(Exceptione){

System.out.println("数据库连接失败");

e.printStackTrace();

}

}

publicConnectiongetConn()throwsException{

if(conn==null){

createConn();

}

returnconn;

}

publicResultSetexecuteQuery(Stringsql)throwsException{

ResultSetrs=null;

if(conn==null){

createConn();

}

try{

Statementst=(Statement)this.conn.createStatement();

rs=st.executeQuery(sql);

}catch(Exceptione){

e.printStackTrace();

}

returnrs;

}

}

然后在

下建一个context.xml用来读取配置信息

xmlversion='1.0'encoding='utf-8'?

>

auth="Container"

type="javax.sql.DataSource"

driverClassName="com.mysql.jdbc.Driver"

url="jdbc:

mysql:

//localhost/user1"

username="root"

password="516146194"

maxActive="50"

maxIdle="20"

maxWait="10000"/>

第三步:

建web工程及文件部署

第四步:

建立相应显示数据库分页显示的jsp页面

Show.jsp

<%@pagelanguage="java"import="java.util.*"pageEncoding="gbk"%>

<%@tagliburi="/struts-tags"prefix="s"%>

<%

Stringpath=request.getContextPath();

StringbasePath=request.getScheme()+":

//"+request.getServerName()+":

"+request.getServerPort()+path+"/";

%>

DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">

">

MyJSP'show.jsp'startingpage

--

-->

405px"text-align="center">

全部用户

用户ID

姓名

年龄

个人简介

iteratorvalue="persons">

propertyvalue="personId"/>

propertyvalue="personName"/>

propertyvalue="personAge"/>

propertyvalue="personInfo"/>

iterator>

propertyvalue="pageNumber"/>页|总共

propertyvalue="totalPage"/>页

urlid="firstPage"value="allPersons.action">

paramname="pageNumber">1

param>

url>

ahref="%{firstPage}">首页

a>

urlid="prePage"value="allPersons.action">

paramname="pageNumber">1

param>

url>

ahref="%{prePage}">上一页

a>

urlid="nextPage"value="allPersons.action">

paramname="pageNumber"value="pageNumber+1">

param>

url>

ahref="%{nextPage}">下一页

a>

urlid="lastPage"value="allPersons.action">

paramname="pageNumber"value="totalPage">

param>

url>

ahref="%{lastPage}">末页

a>

第五步:

struts2.0的相关配置

1.xml的配置

xmlversion="1.0"encoding="UTF-8"?

>

DOCTYPEstrutsPUBLIC

"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"

"http:

//struts.apache.org/dtds/struts-2.0.dtd">

/showPerson.jsp

2.需要的jar包

3.allPersons的action类

packageaction;

importjava.util.List;

importmodel.Person;

importcom.opensymphony.xwork2.ActionSupport;

importdao.PageDao;

publicclassAllPersonsextendsActionSupport{

privateListpersons;

privateintpageNumber=1;//当前页数

privateintpageSize=4;//每页显示的记录数

privateinttotalPage;

//所有的用户对象

publicListgetPersons(){

returnpersons;

}

publicvoidsetPersons(Listpersons){

this.persons=persons;

}

privatePageDaopageDao=newPageDao();

publicintgetPageNumber(){

returnpageNumber;

}

publicvoidsetPageNumber(intpageNumber){

this.pageNumber=pageNumber;

}

publicintgetPageSize(){

returnpageSize;

}

publicvoidsetPageSize(intpageSize){

this.pageSize=pageSize;

}

publicintgetTotalPage(){

returntotalPage;

}

publicvoidsetTotalPage(inttotalPage){

this.totalPage=totalPage;

}

publicStringexecute(){

persons=pageDao.allPersons(pageSize,pageNumber);

totalPage=pageDao.getPersonAmount()/pageSize;

returnSUCCESS;

}

}

4.pageDao的代码:

packagedao;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.util.ArrayList;

importjava.util.List;

importjavax.xml.registry.infomodel.PersonName;

importorg.DbPool;

importmodel.Person;

 

publicclassPageDao{

DbPooldbPool=newDbPool();

privatePersonperson;

PreparedStatementps;

ResultSetrs;

publicListallPersons(intpageSize,intpageNumber){

Listlist=newArrayList();

//Stringsql="select*frompersonlimit?

?

";

try{

//pstmt=this.getConnection().prepareStatement(

//"select*fromstudentorderbystu_idlimit"+(pageNow*pageSize-pageSize)+","+pageSize

//);

if(pageSize>0&&pageNumber>0){

ps=dbPool.getConn().prepareStatement("select*frompersonorderbypersonIdlimit"+(pageNumber*pageSize-pageSize)+","+pageSize);

}

//ps=dbPool.getConn().prepareStatement(

//"select*frompersonorderbypersonIdlimit"+(pageNumber*pageSize-pageSize)+","+pageSize

//);

rs=ps.executeQuery();

while(rs.next()){

person=newPerson();

person.setPersonId(rs.getInt

(1));

person.setPersonName(rs.getString

(2));

person.setPersonAge(rs.getInt(3));

person.setPersonInfo(rs.getString(4));

list.add(person);

}

}catch(Exceptione){

e.printStackTrace();

}

returnlist;

}

publicintgetPersonAmount(){

inti=0;

Stringsql="selectcount(*)fromperson";

PreparedStatementps=null;

try{

ps=dbPool.getConn().prepareStatement(sql);

ResultSetrs=ps.executeQuery();

if(rs.next()){

i=rs.getInt

(1);

}

}catch(Exceptione){

e.printStackTrace();

}

returni;

}

}

5.model包中的person代码:

packagemodel;

publicclassPerson{

privateintpersonId;

privateStringpersonName;

privateStringpersonInfo;

privateintpersonAge;

publicintgetPersonId(){

returnpersonId;

}

publicvoidsetPersonId(intpersonId){

this.personId=personId;

}

publicStringgetPersonName(){

returnpersonName;

}

publicvoidsetPersonName(StringpersonName){

this.personName=personName;

}

publicStringgetPersonInfo(){

returnpersonInfo;

}

publicvoidsetPersonInfo(StringpersonInfo){

this.personInfo=personInfo;

}

publicintgetPersonAge(){

returnpersonAge;

}

publicvoidsetPersonAge(intpersonAge){

this.personAge=personAge;

}

}

最后:

项目运行的效果图:

在ie中输入http:

//localhost:

8080/showPerson/allPersons.action,则显示如下图所示的效果

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 冶金矿山地质

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1