一、MySQL
1、mybatis.xml配置
在insert标签中添加两个属性useGeneratedKeys="true"和keyProperty="id",其中keyProperty中的id为自己表的主键字段
<insert id="" useGeneratedKeys="true" keyProperty="id"></insert>
2、取值
在Controller或者ServiceImpl中直接用插入对象的get方法
二、Oracle
1、通过序列自增长
①、在insert标签中编写selectKey标签,并且order="BEFORE"
order:可以被设置为BEFORE或AFTER。如果设置为BEFORE,那么它会首先生成主键、设置keyProperty后执行插入语句。如果设置为AFTER,那么先执行插入语句,然后再生成主键。
<insert id="" keyProperty="id">
<selectKey order="BEFORE" keyProperty="id">
select 序列.NEXTVAL from dual
</selectKey>
insert into user (id,username) values(#{id},#{username})
</insert>
②、取值
在Controller或者ServiceImpl中直接用插入对象的get方法
2、通过触发器和序列自增长
①、在insert标签中编写selectKey标签,并且order="AFTER"
<insert id="" keyProperty="id">
<selectKey order="AFTER" keyProperty="id">
select 序列.NEXTVAL from dual
</selectKey>
insert into user (id,username) values(#{id},#{username})
</insert>
②、取值
在Controller或者ServiceImpl中直接用插入对象的get方法