1、Mapper映射文件中INSERT语句的写法
在INSERT标签的属性keyProperty、useGenerateKey、parameterType属性赋值
属性 | 值 |
---|---|
keyProperty | 将获取的自增主键的值赋予JavaBean属性 |
keyColumn | 指定数据库主键的列名 |
useGenerateKey | True |
parameterType | 参数类型 |
<insert id="addUser"
keyProperty="userId"
keyColumn="user_id"
useGeneratedKeys="true"
parameterType="com.fcant.bean.UserInfo">
INSERT INTO user_info(user_id, user_name, age, create_time)
VALUES (#{userId}, #{userName}, #{age}, #{createTime})
</insert>
2、Mapper接口中写法
/**
* 添加用户
*
* @param userInfo
* @return int
* @author Fcant
* @date 18:40 2019/12/3
*/
int addUser(UserInfo userInfo);
3、Service层接口的写法
/**
* 添加用户
*
* @param userInfo
* @return int
* @author Fcant
* @date 18:40 2019/12/3
*/
int addUser(UserInfo userInfo);
4、在Service实现类调用Mapper接口后,再获取对象的自增主键的属性值即可得到
/**
* 添加用户
*
* @param userInfo
* @return int
* @author Fcant
* @date 18:40 2019/12/3
*/
@Override
public int addUser(UserInfo userInfo) {
userMapper.addUser(userInfo);
System.out.println(userInfo.getUserId());
return userInfo.getUserId();
}