请教一个 springboot 项目更新数据库异常的问题

2023-06-19 21:49:33 +08:00
 leeton

有一个 update 方法和一个 save 方法,单独执行都没问题,一起执行 update 和 save 就报错。

但是把他俩调换位置,把 save 放在 update 方法前面就没问题。

业务上不允许调换位置,因为需要先 update 逻辑删除,再 save 。

两个方法操作的不是同一个表。

项目里有用到多数据源,用的 mybatis-plus 。但是这两个表是同一个数据库。

尝试不加事务控制,也不行。

指定了 @DS 数据源也不行。

把 save 方法代码删了,改成直接拼接一个写死的 insert 语句也是一样的错。

有遇到过的朋友吗

Cause: java.sql.SQLException: 0

; 0; nested exception is java.sql.solException: 0

at org.springframework.jdbc.supportsstateslexceptionrans Lator.doTranslate(SOLStateSOLExceptionTranslator.java:110)

at org.springframework.jdbc.support.AbstractFallbacksQLExcepti ionTranslator.translate(AbstractFallbackSQLExceptionTranslatorjava:70)

at org.springframework.idbc.support.AbstractFallbackso Except LonTranslator.translate

日志是从图片上 ocr 的,个别字错误。

861 次点击
所在节点    Java
4 条回复
xuanjin
2023-06-20 09:23:14 +08:00
看起来像是事务导致了数据源配置失效?
liuzhedash
2023-06-20 09:30:08 +08:00
还是拍个照片好些,最好还有表结构和对应的 update/save 代码
imv2er
2023-06-20 10:13:32 +08:00
statcktrace 贴全一些
附上简化后的代码样例
leeton
2023-06-20 20:20:20 +08:00
@imv2er #3 @liuzhedash #2 @xuanjin #1
谜底揭晓 mysql-connector 版本太高导致的,从 8.x 换到 5.x 就好了,郁闷两天🤣

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/950125

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX