数据库主键包括自增和非自增,有时候新增一条数据后可能还需要这个新增的主键,可以采用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 |
|