温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
在这里边我们再给大家强调一下,这有这么两个需要注意的点。大家看我们前面说的这个图哈。假如说我们需要事物回滚的话。因为回滚的操作呢,是在cash块里边的。他必须呢在。针对这行代码啊,它得能够捕获到他抛出的异常才行。也就是说在这个过程当中哈,我们写代码的过程当中,有任何一个环节,如果把抛出的异常给看住了,提前看住了。你想对他来说,对上层的调用者来说,是不是就感觉不到下层曾曾经抛出过一场?哎,你家呢,半夜进来一个小偷,然后呢,你自己把这个小偷。啊。就解决掉了,哎,那么对于这个街道的治安来说呢,大家谁也不知道发生了什么啊,大家都会觉得这个很太平无事。
01:00
所以说呢,这个上层调用者他就感觉不到,所以说我们一定要保证啊,这个里边的任何一个环节有异常都要往外抛啊,有异常都要往外抛,一直从这能够抛出来。然后我们才能够在这边进入到catch块才能够,哎,该回滚的时候能回滚,不然的话呢,你就会导致你中间有异常。呃,出了问题,结果你这个事物没有回滚啊,这个地方是需要注意的一个点。呃,在我们说程序执行的过程中,必须让所有啊看石块。都把。编译时异常转换为运行时异常抛出。否则。那我们这么写吧,如果不这么做。在我们这个事物的filter。
02:05
在transaction filter中开块就无法捕获到底层抛出的异常。哎,就是你你要让异常都抛出来,你如果没有让异常抛出来,那么看这块就捕获不到,那么该回滚的时候就无法回滚,这是一个需要注意的地方,还有一个呢,谨防数据库连接连接的提前释放,哎,我们在这说过了。他们必须得用的是同一个数据库连接啊,如果如果你在这个do在这儿,你把数据库连接呢,你给你给关闭了啊,你给释放了下一个操作还要还要用的啊,你包括你即便是最后一个题,我这边提交过回滚也还要用的,所以说呢,一定是最后这个地方统一去回滚异常啊,一定是这个地方统一去回滚异常。
03:02
不是回复异常,我说说错了啊,一定是在这统一的去释放这个数据库连接啊,才是这个正确的做法啊,中间有。但凡是比他要这个地方提前去释放的话,都是错的啊,所以说在这最关键的就是我们在这些do方法里边,不要去做这个释放数据库连接的操作。由于。诸多操作。诸多操作都是在使用。同一个数据库连接,那么中间任何一个环节释放数据库连接都会导致后续操作啊,无法正常完成诶。
04:00
哎,大家呢,共坐同一条船啊,你说呢,你这个想不开是吧,你把这个船给凿沉了,我们不都得跟着你一起去调河里边吗?啊,所以说呢,这个我们要有功德心啊,后边人家别的人还要用的东西,你别给人家提前给人,你别提前给人关掉,对吧啊。
我来说两句