Mybatis与spring-data-jpa获取insert之后的自增长id是什么
Mybatis获取自增长id
Mybatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。Mybatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通的 Java 对象)为数据库中的记录。当插入记录时,Mybatis 可以获取数据库生成的自增长id,可以通过以下三种方式来获取:
1、使用selectKey标签
Mybatis提供了selectKey标签,它可以在插入记录之前,先执行一个查询,获取自增长id,然后将自增长id设置到相应的参数中,最后执行插入记录操作。下面是一个示例:
<insert id="insertRecord" parameterType="com.xxx.model.Record">
<selectKey keyProperty="id" resultType="int" order="BEFORE">
SELECT LAST_INSERT_ID() AS id
</selectKey>
INSERT INTO record(name, age) VALUES (#{name}, #{age})
</insert>
2、使用@Options注解
使用@Options注解可以在插入记录时,获取自增长id,然后将自增长id设置到相应的参数中。下面是一个示例:
@Options(useGeneratedKeys = true, keyProperty = "id")
@Insert("INSERT INTO record(name, age) VALUES (#{name}, #{age})")
int insertRecord(Record record);
3、使用useGeneratedKeys属性
Mybatis提供了useGeneratedKeys属性,它可以在插入记录时,获取自增长id,然后将自增长id设置到相应的参数中。下面是一个示例:
<insert id="insertRecord" parameterType="com.xxx.model.Record" useGeneratedKeys="true" keyProperty="id">
INSERT INTO record(name, age) VALUES (#{name}, #{age})
</insert>
Spring-data-jpa获取自增长id
Spring Data JPA 是 Spring 基于 ORM 框架、JPA 规范的基础上封装的一套 JPA 应用框架,可使开发者用极简的代码即可实现对数据的访问和操作。Spring Data JPA 提供了一种可以自动生成实体类的 ID 的方式,只需要在实体类中使用 @GeneratedValue 注解,就可以让 Spring Data JPA 自动帮我们生成主键。
@Entity
public class Record {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String name;
private int age;
// getter、setter
}
当插入记录时,Spring Data JPA 会自动将自增长id设置到相应的参数中,可以通过get方法获取该id。
猜您想看
-
如何在 CentOS 7 上管理 HTTP 代理认证?
Cent...
2023年04月24日 -
hadoop map个数控制怎么实现
Hadoop是...
2023年07月21日 -
如何解决手机屏幕色彩失真问题
1. 校准屏幕...
2024年05月30日 -
Edge浏览器如何使用集线器将所有活动保存在一处?
Edge...
2023年04月15日 -
Linux下如何进行进程间互斥和协作
Linux下实...
2023年05月10日 -
Filebeat5+Kafka+ELK Docker是怎么搭建日志系统
一、Docke...
2023年05月25日