了解过Mybatis,都知道DefacltSqlSession是线程不安全的。每次执行查询都需要新建一个sqlSession。因此官方给的建议写法如下:
那么问题来了,有些人可能不明白,try()的括号中代码作用是什么?为什么这么写呢?
应用场景:当我们使用带资源的try语句时,使用finally也许会造成一个异常被覆盖的问题,即try语句块中会抛出某个异常,执行finally语句块中跑出了同样的异常,这样的话就会导致原有的异常会丢失,转而抛出的finally语句中的异常。这时我们可以使用带资源的try语句来处理(前提是这个资源实现了AutoCloseable接口的类)
看了这个解释你是不是和我一样明白了呢。
当然,使用finally关闭资源也是完全可以的。
Original: https://www.cnblogs.com/hbuuid/p/14966328.html
Author: 下午喝什么茶
Title: Java try catch语句块中try()的括号中代码作用
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/565737/
转载文章受原作者版权保护。转载请注明原作者出处!