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。
猜您想看
-
PhpStorm导航的概述以及导航到类、接口、Trait的介绍
PhpStor...
2023年07月20日 -
wait和notify和消费者生产者的示例分析
1.wait和...
2023年05月25日 -
Steam平台上的两步验证是怎么回事?
Steam平台...
2023年04月17日 -
怎样理解Java数据结构与算法中的栈实现
栈是一种常用的...
2023年07月23日 -
宝塔面板中如何进行网站内容的定时发布
网站内容的定时...
2024年05月30日 -
Docker怎么批量导入或删除镜像和容器脚本
批量导入镜像1...
2023年05月25日