欢迎来到天天文库
浏览记录
ID:6082789
大小:73.50 KB
页数:6页
时间:2018-01-02
《关于jdbc数据分页跨数据库小结》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、关于JDBC数据分页跨数据库小结一、关于数据连接connection如何区分数据库类型//获取数据生产商名称StringdatabaseProductName=conn.getMetaData().getDatabaseProductName();//获取数据库版本号StringproductVersion=conn.getMetaData().getDatabaseProductVersion();测试结果:Oracle//databaseProductName:Oracle//productVersion:OracleDatabase10gEnterpr
2、iseEditionRelease10.2.0.1.0-Production//WiththePartitioning,OLAPandDataMiningoptionsMySQL//databaseProductName:MySQL//productVersion:5.0.84-community-ntMicrosoftSQLServer2000//databaseProductName:MicrosoftSQLServer//productVersion:8.00.2039MicrosoftSQLServer2005//databaseProductNam
3、e:MicrosoftSQLServer//productVersion:9.00.1399ACCESS//databaseProductName:ACCESS//productVersion:04.00.0000二、ORACLE数据分页方案采用ORACLErownum关键字分页1.SQL语句:select*from(selectt.*,rownumasrnfrom(select*fromtable)twhererownum<=startrow)wherern>endrow;1.生成分页SQL代码:/***Oracle数据库分页专用*@paramsql*@p
4、arampage*@returnString*@see测试通过*/privatestaticStringwrapPage4Oracle(Stringsql,Pagepage){intstartRow=(page.getPageNo()-1)*page.getPageSize();intendRow=startRow+page.getPageSize();Stringosql="select*from(selectt.*,rownumasrnfrom("+sql+")twhererownum<="+endRow+")wherern>"+startRow;ret
5、urnosql;}一、MYSQL数据库分页方案采用limit关键字1.SQL语句:selecttrty.*from(select*fromtable)trtylimitstartrow,endrow2.生成分页SQL代码:/***MySql数据库分页专用*@paramsql*@parampage*@returnString*@see未测试*/privatestaticStringwrapPage4MySql(Stringsql,Pagepage){intstartRow=(page.getPageNo()-1)*page.getPageSize();inte
6、ndRow=startRow+page.getPageSize();StringBuffermsql=newStringBuffer("");msql.append("selecttrty.*from(");msql.append(sql).append(")trtylimit");msql.append(startRow).append(",").append(endRow);returnmsql.toString();}二、ACCESS数据库分页方案采用rs.absolute()1.考虑到ACCESS数据库涉及到的数据量比较小,采用全部查找出来进行分页的
7、方案代码:/***ACCESS数据库分页专用*@paramconn*@paramsql*@parampage*@returnList*@throwsException*@see未测试缺陷查出所有数据进行分页*/privatestaticList>wrapPage4ACCESS(Connectionconn,Stringsql,Pagepage)throwsException{//返回值List>rows=newArrayList>();intst
8、artRow=(page.getPageNo()-1
此文档下载收益归作者所有