最近一个项目需要在插入一条User表数据时,取出其主键id来关联插入另一个UserAbility表
在insert的标签里加两个属性:useGeneratedKeys=“true” keyProperty=“id” ,这个keyProperty的id就是我们要返回的主键id
<insert id="addUser" useGeneratedKeys="true" keyProperty="id">
INSERT INTO `user`
(`id`, `name`, `password`, `qqid`, `qq`, `qqFlag`, `qqName`, `email`, `emailFlag`, `phone`, `phoneFlag`, `thumb`, `level`, `vip`, `vipName`, `isAdmin`, `timeCreate`, `timeUpdate`, `timeLogin`)
VALUES(#{id}, #{name}, #{password}, #{qqid}, #{qq}, #{qqFlag}, #{qqName}, #{email}, #{emailFlag}, #{phone}, #{phoneFlag}, #{thumb}, #{level}, #{vip}, #{vipName}, #{isAdmin}, #{timeCreate}, #{timeUpdate}, #{timeLogin})
</insert>
dao层
//添加一个用户
void addUser(User user);
controller中的使用
第一行插入user后就会返回user的自增主键id的值
UserAbilityUtil.init()方法直接使用
userMapper.addUser(user);
UserAbility userAbility= UserAbilityUtil.init( new UserAbility(),user.id);
userMapper.addUserAbility(userAbility);