springboot+mybatis insert 传参为实体类对象 增加一条记录后返回这个insert的实体对象,请写出mapper 和xml代码 和调用方法
时间: 2024-02-13 14:03:13 浏览: 28
1. Mapper XML
```
<!-- 插入用户信息并返回插入后的用户信息 -->
<insert id="insertUser" parameterType="com.example.User" useGeneratedKeys="true" keyProperty="id">
INSERT INTO user (name, age)
VALUES (#{name}, #{age})
</insert>
```
2. Mapper Java 接口
```
public interface UserMapper {
User insertUser(User user);
}
```
3. 调用方法
```
User user = new User();
user.setName("张三");
user.setAge(20);
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
userMapper.insertUser(user);
sqlSession.commit();
} finally {
sqlSession.close();
}
// 插入后的用户信息
System.out.println(user.getId()); // 输出自动生成的id
```
在调用insert方法时,需要将useGeneratedKeys设置为true,表示使用数据库自动生成的主键,并通过keyProperty指定插入后生成的主键属性名,这里为id。
在Mapper接口中,插入方法的返回值为插入后的实体对象User。
调用insertUser方法后,即可获取插入后的实体对象user,其中自动生成的id已经被设置到user对象中。