Java实现分页数据获取CachedRowSet(转)

发布时间 2023-04-18 13:35:00作者: Mars.wang

步骤
1.加载驱动
2.连接数据库
3.创建ResultSet
4.创建CacheRowSet
5.设置并获取分页数据
6.执行查询,展示数据

登录后复制

package ch13;
import javax.sql.rowset.CachedRowSet;
import javax.sql.rowset.RowSetFactory;
import javax.sql.rowset.RowSetProvider;
import java.sql.*;

/**
* Created by Jiqing on 2016/12/22.
*/
public class CachedRowSetPage {
private String driver;
private String url;
private String user;
private String pass;
// 初始化参数
public void initParam() {
driver = "com.mysql.jdbc.Driver";
url = "jdbc:mysql://127.0.0.1:3306/tpshop";
user = "root";
pass = "123456";
}

// 实现分页效果
public CachedRowSet query(String sql,int pageSize,int page) throws Exception{
// 加载驱动
Class.forName(driver);
try(
// 获取数据库连接
Connection conn = DriverManager.getConnection(url,user,pass);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql))
{
RowSetFactory factory = RowSetProvider.newFactory();
CachedRowSet cachedRs= factory.createCachedRowSet();
// 设置每页显示pageSize条记录
cachedRs.setPageSize(pageSize);
// 设置从第几条记录开始
cachedRs.populate(rs,(page - 1) * pageSize + 1);
return cachedRs;
}
}

// 主函数
public static void main(String[] args) throws Exception{ // 有了它就不要写Catch了
CachedRowSetPage cp = new CachedRowSetPage();
cp.initParam();
CachedRowSet rs = cp.query("select * from tp_goods", 3, 4);
while (rs.next()) {
System.out.println(rs.getString(1) + "\t" + rs.getString(4) + "\t" + rs.getString(5));
}
}
}

 

-----------------------------------
©著作权归作者所有:来自51CTO博客作者TBHacker的原创作品,请联系作者获取转载授权,否则将追究法律责任
Java实现分页数据获取CachedRowSet
https://blog.51cto.com/jiqing9006/3283489