package com.accp.common;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.apache.commons.beanutils.ConvertUtils;
public class BaseDb {
public void executeUpdate(String sql)
{
BaseDao db = new BaseDao();
try {
db.executeUpdate(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally
{
db.close();
}
}
public List executeQuery(String sql,Class cls)
{
List<Object> list = new ArrayList<Object>();
BaseDao db = new BaseDao();
ResultSet rs;
try {
rs = db.executeQuery(sql);
String[] columnName = new String[rs.getMetaData().getColumnCount()];
String[] columnType = new String[rs.getMetaData().getColumnCount()];
for (int i = 0; i < columnName.length; i++) {
columnName[i] = rs.getMetaData().getColumnName(i + 1);
}
for (int i = 0; i < columnType.length; i++) {
columnType[i] = rs.getMetaData().getColumnTypeName(i + 1);
}
while (rs.next()) {
Object obj = cls.newInstance();
for (String fieldName : columnName) {
Field field = cls.getDeclaredField(fieldName);
Method method = cls.getDeclaredMethod("set"
+ fieldName.substring(0, 1).toUpperCase()
+ fieldName.substring(1), new Class[] { field
.getType() });
String value = rs.getString(fieldName);
if(value==null) continue;
method.invoke(obj,ConvertUtils.convert(value, field.getType()) );
}
list.add(obj);
}
} catch (Exception e) {
System.out.println("executeQuery 出错!");
throw new RuntimeException(e.toString());
} finally {
db.close();
}
return list;
}
public int getPageCount(String sql)
{
return (getCount(sql)+InitResource.pageSize-1)/InitResource.pageSize;
}
public int getCount(String sql)
{
int count = 0;
BaseDao dao = new BaseDao();
ResultSet rs;
try {
rs = dao.executeQuery(sql);
if(rs.next())
count = rs.getInt(1);
return count;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally
{
dao.close();
}
return count;
}
public List executeQuery(String sql)
{
return this.executeQuery(sql,1,999999);
}
public List executeQuery(String sql,int pageNow)
{
return this.executeQuery(sql,pageNow,InitResource.pageSize);
}
public List executeQuery(String sql,int pageNow,int pageSize)
{
List list = new ArrayList();
BaseDao db = new BaseDao();
ResultSet rs;
try {
rs=db.executeQuery(sql);
String[] columnName = new String[rs.getMetaData().getColumnCount()];
for (int i = 0; i < columnName.length; i++) {
columnName[i] = rs.getMetaData().getColumnName(i + 1);
}
rs.absolute((pageNow-1)*pageSize+1);
for(int t=0;t<pageSize;t++)
{
HashMap hs = new HashMap();
for (int i = 0; i < columnName.length; i++) {
String value = rs.getString(columnName[i]);
if(value==null) continue;
hs.put(columnName[i], value);
}
list.add(hs);
if(!rs.next()) break;
}} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally
{
db.close();
}
return list;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
Struts带分页有查询
共77个文件
tld:22个
java:14个
class:14个
需积分: 3 23 下载量 115 浏览量
2008-06-14
10:38:21
上传
评论
收藏 1.22MB RAR 举报
温馨提示
这是一个struts写的有分页,分页是用标签写的用起来非常方便,<br>可以将查询在分页中
资源推荐
资源详情
资源评论
收起资源包目录
struts有分页,有查询.rar (77个子文件)
struts
.project 1KB
.mymetadata 291B
WebRoot
WEB-INF
struts-tiles.tld 8KB
fmt-1_0.tld 12KB
fmt.tld 19KB
.struts-config.mex 2KB
sql-1_0-rt.tld 5KB
fmt-1_0-rt.tld 11KB
permittedTaglibs.tld 1KB
web.xml 1KB
struts-config.xml 1KB
struts-bean.tld 9KB
scriptfree.tld 2KB
c-1_0-rt.tld 11KB
c-1_0.tld 11KB
struts-nested.tld 63KB
x-1_0-rt.tld 7KB
struts-html.tld 65KB
struts-template.tld 2KB
struts-logic.tld 14KB
x.tld 12KB
validator-rules.xml 41KB
sql.tld 8KB
page.tld 600B
lib
commons-logging.jar 27KB
commons-digester.jar 96KB
commons-fileupload.jar 19KB
commons-beanutils.jar 100KB
commons-lang.jar 53KB
jstl.jar 17KB
struts.jar 428KB
commons-validator.jar 40KB
struts-legacy.jar 9KB
jakarta-oro.jar 62KB
commons-collections.jar 160KB
standard.jar 343KB
classes
com
accp
dao
UserinfoDao.class 3KB
struts
action
UserinfoupdateAction.class 1KB
UserinfolistAction.class 1KB
UserinfofindAction.class 2KB
UserinfoAction.class 1KB
form
UserinfoForm.class 883B
ApplicationResources.properties 82B
common
InitResource.class 392B
PageAction.class 2KB
MyProcess.class 922B
BaseDb.class 5KB
BaseDao.class 2KB
service
UserinfoService.class 1KB
tag
PageTag.class 3KB
entity
UserinfoBean.class 1KB
sql-1_0.tld 6KB
c.tld 16KB
fn.tld 7KB
x-1_0.tld 7KB
userinfolist.jsp 2KB
index.jsp 834B
META-INF
MANIFEST.MF 39B
userinfo.jsp 1KB
accp.mdb 160KB
.myeclipse
src
com
accp
dao
UserinfoDao.java 2KB
struts
action
UserinfoAction.java 1KB
UserinfofindAction.java 1KB
UserinfolistAction.java 914B
UserinfoupdateAction.java 1KB
form
UserinfoForm.java 717B
ApplicationResources.properties 82B
common
InitResource.java 94B
PageAction.java 1KB
BaseDb.java 3KB
BaseDao.java 2KB
MyProcess.java 648B
service
UserinfoService.java 608B
tag
PageTag.java 3KB
entity
UserinfoBean.java 618B
.mystrutsdata 255B
.classpath 1KB
共 77 条
- 1
资源评论
rdman
- 粉丝: 17
- 资源: 49
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功