基于注解的mybatis插入一条数据如何返回这条数据的对象或者他的id?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于注解的mybatis插入一条数据如何返回这条数据的对象或者他的id?相关的知识,希望对你有一定的参考价值。

很奇怪,使用xml配置文件可以获得id或者对象,使用注解就不知道怎么弄了,而且mapper接口返回的竟然是1,估计应该返回的是受影响的行,即插入的行数??

参考技术A

参考技术B 直接在插入语句后面,写上select的语句就可以了啊。这个对象的主键是自动生成吗。如果是mysql里,是select max(id);否则,可以根据刚刚插入的标识字段进行查询。追问

如果多个用户同时操作的话,查询max(id)应该就是错误的吧,如果通过刚插入的标识字段查询是不是又要单独发送一次sql查询了?

追答

不会的。事物的操作具有原子性。要么全都执行,要么全都不执行

本回答被提问者和网友采纳
参考技术C 对比一下生成的SQL看看哪里缺少了追问

生成的sql当然只是insert into ...看不出返回值是什么,那个Mapper接口我自己写的返回值是int

以上是关于基于注解的mybatis插入一条数据如何返回这条数据的对象或者他的id?的主要内容,如果未能解决你的问题,请参考以下文章

mybatis插入数据后返回自增主键ID详解

mybatis在查询一条数据的时候返回它的主键

MyBatis中如何获取刚插入数据的 id

mybatis 如何获取返回的条数

insert语句返回值

mybatis之映射器(select)