useGeneratedKeys="true":表示使用JDBC的getGeneratedKeys方法来获取数据库自动生成的主键。 keyProperty="sid":指定返回的主键ID应该赋值到实体类的sid属性上。2. 使用MyBatis-Plus 在MyBatis-Plus中,insert方法默认支持返回插入记录的主键ID。你只需要确保实体类中的主键字段使用了@TableId注解,并且配置了主键生成策略。
另外last_insert_id虽然是基于session的但是不知道为什么没有测试成功。 方法6:selectkey: 其实在ibtias框架里使用selectkey这个节点,并设置insert返回值的类型为integer,就可以返回这个id值。 SelectKey在Mybatis中是为了解决Insert数据时不支持主键自动生成的问题,他可以很随意的设置生成主键的方式。 不管SelectKey有多好,...
keyColumn:设置为数据库记录的主键id字段名称。 完全的写法如下: @InsertProvider(type = SplitterRecordDaoProvider.class,method ="addDownloadRecordSql") @Options(useGeneratedKeys=true, keyProperty="id", keyColumn="id") Integer addDownloadRecord(DownloadRecordEntity downloadRecordEntity); 这里要注意的是,返回的...
Mybatis中,当插入数据后,返回最新主键id(注解方式),Mybatis中,当插入数据后,返回最新主键id(注解方式)@Options(useGeneratedKeys=true,keyProperty="id")...
应用场景在向数据库插入数据时,需要保留插入数据的id,以便进行后续的update操作或者将id存入其他表作为外键。但是,在默认情况下,insert操作返回的是一个int值,它并非表示主键id,而是表示当前SQL语句影响的行数。 接下来,我们依次从options注解和SQL两个方面,了解MyBatis如何在使用MySQL和Oracle做insert插入操作时将返回的...
(1)这里设置的MySQL的主键是自增的,SELECT LAST_INSERT_ID()返回的是最后一个ID值的意思。 (2)传入的参数必须为对象,不能为string,int之类的单个参数 (3)order属性,取值范围BEFORE/ AFTER,指定是在insert语句前还是后执行selectKey操作。AFTER一般用于MySQL自增的情况下,BEFORE一般用于自定义的ID的获取。
在使用Mybatis过程中,因为一些insert操作需要同时获取自增长的主键,但是Mybatis提供的注解形式的curd并没有提供返回值。 我们可以通过添加@Options(useGeneratedKeys = true, keyProperty = "user_id")注解后,主键id会回填到对象指定的字段,需要主动获取。
MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs (Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 在MyBatis中,当执行insert操作后,有时我们需要获取数据库新生成的主键ID。这在很多场景下都非常有用,比如插入一条新记录后需要立即知道其ID以便进行后续操作。 MyBatis返回...
一、插入数据主键ID获取 一般我们在做业务开发时,经常会遇到插入一条数据并使用到插入数据的ID情况。如果先插入在查询的话需要多一次sql查询,未免效率太低。因此mybatis也有提供插入数据并返回主键ID的方式。如下 1、Insert/update 1.1、属性解释 keyProperty ...