jdbc数据库连接在方法中,而且要返回statement 或resultset 在方法里关闭连接会怎么样?要怎么处理?

jdbc数据库连接在方法中,而且要返回statement 或resultset 在方法里关闭连接会怎么样?要怎么处理?,第1张

如果要返回statement 或者resultset 就不能关闭连接,关了的话作为返回值被传出去的statement 或者resultset 被访问到的时候就会抛出异常。连接不关不会被有异常,但程序被多次执行后就有连接被占满,不能取得连接的问题出现。

一般需要用到rs的数据,应在取得rs后,把里边的数据从新包装后返回,比如返回集合类或者bean类。在包装完成后关闭rs,state,conn。这样没问题

可以这么理解,ResultSet是包含数据库连接的,在得到ResultSet以后其实里面并没有数据,而只是返回了指向数据的指针,这样的话性能上相当于多了一级缓存,当你用next()方法移动指针的时候才开始读,只需要取你需要的数据,而不用把所有数据都一次性装入list里。

上面只是一个方面,另一方面,除了基本的ResultSet用法,在查询语句满足一定条件的情况下ResultSet还可以直接更新数据库里的数据,而直接返回list是做不到的。

所以可以看出返回ResultSet比list更加灵活,作为一个底层的方法灵活性是很重要的,如果不需要用到这么多的功能,程序员可以自己封装一层返回list也很简单,这也是java的优点啊


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10039218.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存