可滚动结果集

JDBC支持可滚动结果集,它与普通的结果集相比允许我们队结果集的数据进行随意访问

而不是只能遍历一次,但是却不常用

原因在于,结果集在数据库端,ResultSet只不过是通过网络操作数据库端的结果集

所以频繁对结果集进行操作会增加网络访问降低效率。

为此,我们只遍历一次结果集,将数据以Java对象的形式存于本地内存,这样遍历结果集的

效率会高很多,而且是以面向对象的思想去遍历数据,更符合Java程序员的习惯。


代码:思路是应用面向对象的方式将数据库中表的数据取出来放在本地的内存中,这样我们就可以随意遍历得到的结果集,相比ResultSet频繁的访问数据库的效率要高的多。

public static List<UserInfo>findAll(){

//创建一个类型为UserInfo类型的集合list

List<UserInfo>list=new ArrayList<UserInfo>();

try {

//建立连接

Connection conn=DBUtil.getConnection();

//创建执行SQL的对象

Statement state=conn.createStatement();

//创建一个SQL语句

String sql="SELECT id,username,password,email,account" +

" FROM zc_userinfo";

//返回查询的结果集

ResultSet rs=state.executeQuery(sql);

//对结果集进行操作

while(rs.next()){

int id=rs.getInt("id");

String username=rs.getString("username");

String password=rs.getString("password");

String email=rs.getString("email");

int account=rs.getInt("account");

//取得数据库中的结果集然后放在一个实例对象userInfo中

UserInfo userInfo=new UserInfo(

id,username,password,email,account

);

//要对这个结果集进行遍历,就是将这个结果集放在一个集合list中就可以很方便的对其遍历了

list.add(userInfo);

}

//关闭这个结果集

rs.close();

} catch (Exception e) {

e.printStackTrace();

}finally{

DBUtil.closeConnetion();

}

return list;

}


转载于:https://my.oschina.net/u/2430119/blog/494177

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值