1、使用数据库自带的生成器
<insert id="insertOne" keyProperty="userId" useGeneratedKeys="true" >
insert into user (user_name) values(#{userName})
</insert>
mybatis会获取数据库自动生成的列,并把值赋值给传入参数的userId属性。
2、使用selectKey
2.1
<insert id="insertOne" >
insert into user (user_name) values(#{userName})
<selectKey order="AFTER" keyProperty="userId">
SELECT LAST_INSERT_ID()
</selectKey>
</insert>
插入语句执行后selectKey语句,并把返回值塞进传入参数的userId属性。
2.2
<insert id="insertOne" >
insert into user (user_name) values(#{userName})
<selectKey order="BEFORE" keyProperty="userId">
SELECT LAST_INSERT_ID()
</selectKey>
</insert>
先执行selectKey,并把返回值赋值给传入参数的userId属性,然后执行insert语句。