引言
在使用 Mybatis 进行数据库操作时,经常需要进行新增数据的操作。在某些场景下,需要同时获取新增数据的自增主键ID。本文将介绍 Mybatis 如何进行新增和批量新增操作,并获取返回的自增主键ID。
单条数据新增
1. 创建对应的 Model 类
首先,我们需要创建一个对应数据库表的 Model 类,用于存储新增数据的信息。
public class User {
private Long id;
private String name;
private String email;
// 省略其它属性和方法
}
2. 定义对应的 Mapper 接口
接下来,我们需要在 Mapper 接口中定义新增数据的方法。
public interface UserMapper {
int insert(User user);
}
3. 编写 Mapper XML 文件
在 Mapper XML 文件中,我们需要编写新增数据的 SQL 语句,并配置返回自增主键ID。
<insert id="insert" parameterType="com.example.model.User" useGeneratedKeys="true" keyProperty="id">
INSERT INTO user(name, email) VALUES (#{name}, #{email})
</insert>
4. 调用新增方法并获取自增主键ID
最后,在业务逻辑中调用新增方法,并获取返回的自增主键ID。
User user = new User();
user.setName("John");
user.setEmail("john@example.com");
userMapper.insert(user);
Long id = user.getId(); // 获取自增主键ID
批量数据新增
1. 创建对应的 Model 类
同样,我们先创建一个对应数据库表的 Model 类,用于存储新增数据的信息。
public class User {
private Long id;
private String name;
private String email;
// 省略其它属性和方法
}
2. 定义对应的 Mapper 接口
在 Mapper 接口中定义批量新增数据的方法。
public interface UserMapper {
int insertBatch(List<User> userList);
}
3. 编写 Mapper XML 文件
在 Mapper XML 文件中,编写批量新增数据的 SQL 语句,并配置返回自增主键ID。
<insert id="insertBatch" parameterType="java.util.List">
<foreach collection="list" item="user" separator=";">
INSERT INTO user(name, email) VALUES (#{user.name}, #{user.email})
</foreach>
</insert>
4. 调用批量新增方法并获取自增主键ID
最后,在业务逻辑中调用批量新增方法,并获取返回的自增主键ID。
List<User> userList = new ArrayList<>();
// 假设有多个用户信息需要新增
User user1 = new User();
user1.setName("John");
user1.setEmail("john@example.com");
User user2 = new User();
user2.setName("Alice");
user2.setEmail("alice@example.com");
userList.add(user1);
userList.add(user2);
userMapper.insertBatch(userList);
// 遍历获取新增数据的自增主键ID
for (User user : userList) {
Long id = user.getId(); // 获取自增主键ID
}
结语
通过以上步骤,我们可以在 Mybatis 中实现单条数据新增和批量数据新增的操作,并且成功获取到返回的自增主键ID。在实际应用中,根据项目需求选择适合的方式进行数据的新增操作。
希望本文对你了解 Mybatis 新增/批量新增操作,并获取返回的自增主键ID有所帮助。
本文来自极简博客,作者:人工智能梦工厂,转载请注明原文链接:Mybatis 新增/批量新增:获取返回的自增主键ID