您现在的位置是:亿华云 > 系统运维
为什么 insert 配置 "SELECT LAST_INSERT_ID()" 返回个0呢?
亿华云2025-10-02 18:49:22【系统运维】5人已围观
简介一、前言:一个Bug没想到一个Bug,竟然搞我两次!我大抵是卷上瘾了,横竖都睡不着,坐起来身来打开Mac和外接显示器,这Bug没有由来,默然看着打印异常的屏幕,一个是我的,另外一个也是我的。今天这个问
一、配置前言:一个Bug
没想到一个Bug,配置竟然搞我两次!配置
我大抵是配置卷上瘾了,横竖都睡不着,配置坐起来身来打开Mac和外接显示器,配置这Bug没有由来,配置默然看着打印异常的配置屏幕,一个是配置我的,另外一个也是配置我的。
今天这个问题主要体现在大家平常用的配置Mybatis,在插入数据的配置时候,我们可以把库表索引的配置返回值通过入参对象返回回来。但是配置通过我自己手写的Mybatis,每次返回来的配置都是0,而不是最后插入库表的索引值。因为是手写的,源码库不是直接使用Mybatis,所以我会从文件的解析、对象的映射、SQL的查询、结果的封装等一直排查下去,但竟然问题都不在这?!
可能大部分研发伙伴没有阅读过 Mybatis 源码,所以可能不太清楚这里发生了什么,小傅哥这里给大家画张图,告诉你发生了什么才让返回的结果为0的。高防服务器
但其实就这么一个链接的问题,在小傅哥手写Spring中也同样遇到过。
在 Spring 中有一部分是关于事务的处理,其实这些事务的操作也是对 JDBC 的包装操作,依赖于数据源获得的链接来管理事务。而我们通常使用 Spring 也是结合着 Mybatis 配置上数据源的方式进行使用,那么在一个事务下操作多个 SQL 语句的时候,是怎么获得同一个链接的呢。因为从上面
很赞哦!(69)