在学习初级java的时候,对于数据库查询,我一直使用java.sql中的ResultSet来保存结果,在try语句中,完成对数据库的访问和对数据的操作,然后在finally中使用catch关闭rs,关闭连接。
学习到web项目时,老师告诉我们,jsp = java+html;按照MFC的思想,把实现数据控制的java分离开来,形成的类就是servlet。也就是说,servlet就是一个继承了特殊类的普通java类,和我们其他的java类没有什么不同。照说,原先的resultset也可以照常使用,但是,老师告诉我们,最好,使用javax.servlet.jsp.jstl.sql中的result。
这是为什么呢?
我们在使用数据库连接时,在使用完成后,必须要关闭资源,而在b/s模式中,对数据访问的即时性,让我们选择在何时关掉连接成为问题?连接关早了,set中内容没了;连接不关,又浪费资源。怎么办呢??这就是使用result的原因,相当于把取出的数据放到本地缓存中,而不再依靠连接。只要数据封给了result,那么连接就可以结束,后期操作,只要从result中取数据就行。
这种方式,简化操作,又节约了资源。当然,这纯属个人理解,欢迎评论,指正错误。