当前位置: 首页> 房产> 家装 > Mybatis中的useGeneratedKeys举例

Mybatis中的useGeneratedKeys举例

时间:2025/7/15 3:28:50来源:https://blog.csdn.net/exlink2012/article/details/142044909 浏览次数:0次

MyBatis useGeneratedKeys 示例

useGeneratedKeys 是 MyBatis 中用于获取数据库自动生成的主键的配置。它通常与 insert 语句一起使用,以便在执行插入操作后,MyBatis 可以获取数据库生成的自增主键,并将其设置回 Java 对象的属性中。

数据库表结构

假设我们有一个 User 表,表结构如下:

CREATE TABLE User (id BIGINT AUTO_INCREMENT PRIMARY KEY,username VARCHAR(50),email VARCHAR(50)
);

MyBatis 映射配置

假设你使用 MyBatis 的 XML 映射配置来处理 SQL 语句。

<insert id="insertUser" parameterType="com.example.User" useGeneratedKeys="true" keyProperty="id">INSERT INTO User (username, email)VALUES (#{username}, #{email})
</insert>
  • useGeneratedKeys="true":表示 MyBatis 会自动获取数据库生成的主键。
  • keyProperty="id":表示主键将映射到 Java 对象的 id 属性。

对应的 Java 类

public class User {private Long id;private String username;private String email;// Getters and setterspublic Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}
}

使用 MyBatis 插入记录

在 Java 代码中,你可以通过 MyBatis Mapper 接口调用插入方法:

public interface UserMapper {void insertUser(User user);
}

在你的业务逻辑代码中,你可以这样插入一个用户,并获取插入后的自增主键:

User user = new User();
user.setUsername("John Doe");
user.setEmail("john.doe@example.com");// 调用 MyBatis Mapper 方法插入用户
userMapper.insertUser(user);// 输出自动生成的 ID
System.out.println("Generated ID: " + user.getId());

在这个例子中,insertUser 方法执行完之后,user 对象的 id 属性将会被自动设置为数据库生成的自增主键。

总结

  • useGeneratedKeys="true":用于告诉 MyBatis 自动获取数据库生成的主键。
  • keyProperty="id":指定主键将填充到 Java 对象的哪个属性中。
关键字:Mybatis中的useGeneratedKeys举例

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: