- 博客(11)
- 收藏
- 关注
原创 可重复读事务隔离级别引发的一次事故
在分析日志的过程中,发现子任务并发执行时,无法查询到所有子任务结束,也就是无法查询到其他子任务所属事务提交的结果。项目中有一个场景:所有子任务结束后,需要根据所有子任务是否全部成功结束主任务,子任务全部成功则主任务成功,否则主任务失败。这也的确符合现状“读不到其他事务的结果”,也就是说在事务内读过子任务(由于其他子任务事务未提交所以初次读取到是未结束,以致于事务内读一直是未结束)导致无法读到最新提交。如果还有子任务未结束则直接提交事务,如果所有子任务全部结束则按逻辑结束主任务。理想很丰满,现实很骨感……
2024-07-09 22:40:56 167
原创 解决Mybatis-Generator单实例不同数据库同表名生成代码读取错误
解决Mybatis-Generator单实例不同数据库同表名生成代码读取错误
2023-01-10 15:23:18 393
原创 踩坑Mybatis的日期类型转换
场景先向数据库插入数据,其中含有一个日期字段insertDate,然后返回该日期字段。然后业务逻辑处理后,再根据这个日期来根据数据库的记录,此时会一定几率出现更新失败的情况。经排查后发现,mybatis-generator自动生成的xml中的jdbcType为timestamp,实际上数据库字段类型为datetime。然后查看打印插入数据SQL日志发现该日期带有毫秒数然后mybatis插入执行后,转换为数据库的datetime类型时,后面的毫秒数四舍五入导致插入的时间比实际实际晚1s解决方案1、插
2021-04-01 18:08:40 1403
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人