一般需要用到rs的数据,应在取得rs后,把里边的数据从新包装后返回,比如返回集合类或者bean类。在包装完成后关闭rs,state,conn。这样没问题
可以这么理解,ResultSet是包含数据库连接的,在得到ResultSet以后其实里面并没有数据,而只是返回了指向数据的指针,这样的话性能上相当于多了一级缓存,当你用next()方法移动指针的时候才开始读,只需要取你需要的数据,而不用把所有数据都一次性装入list里。上面只是一个方面,另一方面,除了基本的ResultSet用法,在查询语句满足一定条件的情况下ResultSet还可以直接更新数据库里的数据,而直接返回list是做不到的。
所以可以看出返回ResultSet比list更加灵活,作为一个底层的方法灵活性是很重要的,如果不需要用到这么多的功能,程序员可以自己封装一层返回list也很简单,这也是java的优点啊
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)