mybatis insert成功后返回主键

问题描述

mybatis新增成功后不返回主键


解决方法

方法一:推荐

在mapper(即xml文件)的标签中进行如下图的设置

其中,useGeneratedKeys="true"和keyProperty="id"成对使用,且必须设置; parameterType和keyColumn属性可以不设置。

方法二:不推荐

标签;且这种方法可以用于不能自增的数据库(不推荐使用)

mybatis insert成功后返回主键_第1张图片

其中,

resultType属性值的类型要和实体类主键类型一直,否则报错【java.lang.IllegalArgumentException: argument type mismatch】。

insert语句中也可不写id和null。

方法三:不管用

在application.properties配置文件中添加如下配置

mybatis.configuration.use-generated-keys=true

其他问题

在设置完成后,并没有起作用,实体类主键依然为null。

注意事项

1.实体类dao层 不要添加@Param()属性

2.xml不要使用#{user.id}

3.如果要用1和2,那么keyProperty="user.id",要这么设置

4.数据库支持主键自增


参考博客

https://blog.csdn.net/guangyingposuo/article/details/90544739

mybatis官网

https://blog.csdn.net/mobiusstrip/article/details/88581869

你可能感兴趣的:(SpringBoot)