Mybatis 新增/批量新增:获取返回的自增主键ID

人工智能梦工厂 2024-08-31 ⋅ 19 阅读

引言

在使用 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有所帮助。


全部评论: 0

    我有话说: