关于数据库操作异常

来源:7-1 你是不是总看不明白别人的自定义的异常?

骑着猪找未来

2020-09-21

一哥,业务代码中的dao层操作,假如运行的时候数据库突然有了异常,插入数据查询数据产生异常了,那我们在写的时候,要用try catch 把这个数据库操作包起来吗

写回答

1回答

张勤一

2020-09-21

骑猪大佬你好

    对于你这里提出的两个问题插入、查询数据都是针对于数据库而言的也就是 dao 层那么我这里分别对它们进行分析

    1插入数据出现了异常如果在这个插入数据的过程中没有其他的数据修改更新、删除、插入那么不需要显示的指定事务出现了异常会自动的回滚且会向外抛出异常所以你的 try catch 是可以的但是你要能够合理的处理你的业务异常如果有连带的数据修改那么你需要手动的指定事务标记出现了错误是需要回滚的

    2查询数据出现了异常这种情况要么是返回了脏数据要么就是查询出错查询错误就简单了你的业务想怎么处理都可以抛出异常或者主动捕获脏数据的话一定是其他的业务导致的这个你大概率是不能处理的。除非保证全局都正确否则只在业务代码里面判断几乎起不到任何作用


    我是勤一致力于将这门课程的问答区打造为 Java 知识体系知识库Java 知识体系 BBS共同建造、维护这门课程我需要每一个你

1
0

Java实操避坑指南 SpringBoot/MySQL/Redis错误详解

掌握业务开发中各种类型的坑,,Java web开发领域通用

466 学习 · 204 问题

查看课程