标签:
如果想插入一条记录之后,立刻对其进行其他操作,这时候就需要获取记录的主键(通常是ID),MyBatis有以下方式处理。
Dao层的接口定义如下:
void importUser(@Param( "user" ) User user);
注意:这里不能因为要返回主键而定义接口的返回值类型为String或者int,会报错。
xml配置文件:
<insert id= "importUser" useGeneratedKeys = "true" keyProperty= "user.id" parameterType ="com.ywlaker.model.User" >
INSERT INTO user (user_name)
VALUES(#{user.userName,jdbcType=VARCHAR})
</insert >
useGeneratedKeys = "true" 表示返回主键
keyProperty= "user.id" 表示用参数user对象的id属性接收主键
这个方法执行完新纪录的主键就会插入user对象,想返回主键可以在上一层定义
@Override
public String importUser(User user) throws ServiceException {
try {
this. UserMapper.importUser(user);
return user.getId();
} catch (Exception e) {
throw new ServiceException( "数据库错误!" );
}
}
当然,直接返回user对象也可以。
标签:
原文地址:http://www.cnblogs.com/ywlaker/p/4757620.html