mybatis使用注解方式插入数据后获取自增长的主键值

mybatis使用注解方式插入数据后获取自增长的主键值
Mybatis使用:Sql Annotation
mybatis本身提供的注解

插入
插入的使用注解
获取自增id的方式有
INSERT INTO table_name (col1, col2,…) VALUES (‘val1’, ‘val2’…);

写SQL,但不要自己插入主键值,插入数据后获取自增长的主键值
配置@Options(useGeneratedKeys=true, keyProperty=”对象.属性”)
这个的作用是设置是否使用JDBC的getGenereatedKeys()方法获取主键并赋值到keyProperty设置的对象的属性中,
插入一条记录后,还想得到这条记录的自增主键ID,useGeneratedKeys=true就是定义数据库返回主键ID的。
也就是说把自增长的主键值赋值给对象相应的属性

这里一定要记住注解的时候不要把自增id写进去否则会报错

先来看看我的场景,首先控制器里面给一张表增加一条数据:

 

mapper如下:

 

serviceImpl如下:

 

Service接口定义如下:
void insert(UserStation usn);

好了,我们插入一条数据,在控制器里面调用,执行即如果如下:

 

看到错误了,意思就是主键为空了,我看了表里面,id是默认自增的,这个时候我们把insert注解的自增id去掉:

 

可以看到自增的id获取到了:22

我们再去表中看看:

这样自增成功!可以拿到自增ID。

记得注解的时候一定要去掉自增id字段

おすすめ

転載: blog.csdn.net/lchmyhua88/article/details/117627942