在Spring中用select last_insert_id()时遇到问题

Posted Code2020

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Spring中用select last_insert_id()时遇到问题相关的知识,希望对你有一定的参考价值。

今天在使用mysql时却不知如何处理,插入记录后不知怎样获得刚刚插入的id,查过文档后发现了select last_insert_id(),在插入之后执行此查询,即可获得自增id,喜出望外。
可用到自己的程序中之后却得不到想要的结果,于是就怀疑到了Spring头上,因为通过基本JDBC测试是没有任何问题的,所以就去跟踪Spring JDBC, 看过源码之后才豁然开朗,原来Spring中如此获得数据库Connection的:Connection con = DataSourceUtils.getConnection(getDataSource());, 哎,只能怪自己Spring掌握不够好,所以就不能在执行insert之后去执行select last_insert_id()了,因为select last_insert_id()是真对当前Connection插入和更新操作的,那在Spring中如何获得新增记录的键值呢,没有办法只能去Google了。

以上是关于在Spring中用select last_insert_id()时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

在mybatis的@Select中用not in 时

MySql查询在Select中用空字符串替换NULL

<select multiple> </select> 在jsp页面中用val()方法设置更多的值

binary在select中用来区分大小写

Spring中用到了哪些设计模式?

mysql 进:在存储过程中用select 如何给变量赋值