Mybatis获取自增主键并发问题,Jdbc3KeyGenerator
已知:
在数据库表自增的情况下,mybatis执行完一条insert sql后,Jdbc3KeyGenerator获取主键的逻辑,是在insert语句后获取最大的id。
场景:
线程A:插入insert语句先执行,然后执行Jdbc3KeyGenerator获取最大的id。
那么在线程A的Jdbc3KeyGenerator获取最大id前一时刻,线程B:又有insert语句执行了。
问:
那线程A获取到的id是线程B执行insert后的id,还是线程A执行insert的id。
mybatis
数据库
mysql
赞
收藏 0
回答 1
待解决
相关问题
并发问题和内存数据刷盘问题
1565浏览 • 1回复 待解决
MySQL 非自增的字符串主键会加间隙锁吗?
1755浏览 • 1回复 待解决
JSUI中TouchMove连续触发问题
1173浏览 • 1回复 待解决
这句sql会导致并发出问题吗 ?
262浏览 • 1回复 待解决
聊一聊DS的低代码开发问题
3738浏览 • 1回复 待解决
数据库主键字段的问题有知道的吗?
510浏览 • 1回复 待解决
关于服务卡的界面开发问题有知道的吗?
285浏览 • 1回复 待解决
mysql 自增字段如何重设?
554浏览 • 1回复 待解决
使用mysql命令行insert时,如何直接获取到自增id
833浏览 • 1回复 待解决
同一条 sql 在 navicate 中执行很快,用 mybatis 执行时约 3s有知道的吗?
1110浏览 • 1回复 待解决
鸿蒙系统3无法获取系统定位信息怎么回事?
1225浏览 • 1回复 待解决
openHarmony使用mediaLibrary模块获取缩略图失败,返回error3
2137浏览 • 1回复 待解决
对于ob3.1.3使用哪个jdbc驱动版本好呢?
1238浏览 • 1回复 待解决
关于获取应用列表权限问题?
92浏览 • 1回复 待解决
PolarDB可以支持多少并发数?
364浏览 • 1回复 待解决
如果通过Mock单元测试Mybatis中的SQL?
323浏览 • 1回复 待解决
怎样使用Mybatis处理PostgreSQL的jsonb类型的数据?
2172浏览 • 1回复 待解决
明明有主键索引,为什么mysql索引失效?
753浏览 • 1回复 待解决
redis 单线程 是不是就没有并发不一致的问题了
759浏览 • 1回复 待解决
关于如何获取时钟的id的问题
3424浏览 • 1回复 待解决
为什么select 主键 from tb 就会自动走索引
558浏览 • 1回复 待解决
关于 onArrange中获取到的参数的问题
2427浏览 • 1回复 待解决
javascript 连接华为云MQTT,获取上报数问题
4743浏览 • 2回复 待解决
JS 获取控件位置并动态赋值的问题
1171浏览 • 1回复 待解决
huawei watch 3 java开发滑动退出当前ability与横向滑动控件冲突的问题
5152浏览 • 1回复 待解决
不说数据库的情况下,就默认你是mysql吧,对于获取自增id的场景,mysql是插入完以后执行select LAST_INSERT_ID()就能获取到最大id(oracle在插入前,这点不同),mybatis做的也就是这样了,至于获取具体的数值,那是数据库对于这个的处理,特意试了下,开启事务以后,A事务先插入,但是不查询LAST_INSERT_ID(),B事务一次操作完,在B事务不管是否提交,A执行select LAST_INSERT_ID都是获取自己插入后的id,并没有串到B的id