数据库主键包括自增和非自增,有时候新增一条数据后可能还需要这个新增的主键,可以采用selectKey
来帮助我们获取新增的主键。
这里针对自增主键进行测试。
1. 实体类
1 | public class User { |
2. Dao层
1 |
|
3. mapper.xml
1 | <insert id="save" parameterType="demo.srammy.selectkey.model.User"> |
selectKey
会将SELECT LAST_INSERT_ID()
的结果放入到传入的model的主键里面。
keyProperty
对应model中的主键的属性名,这里是实体类中的userId
,因为它跟数据库的主键对应。注意这里要写出参数名,这里参数名是user
(在UserDao
类中@Param("user")
指定参数名为user
)。
order=AFTER
表示SELECT LAST_INSERT_ID()
在insert
执行之后执行,多用与自增主键。order=BEFORE
表示SELECT LAST_INSERT_ID()
在insert
执行之前执行,这种适合那种主键不是自增的类型resultType。
4. 测试
1 |
|