时间:2021-05-20
MyBatis插入数据的时候,返回该记录的id
<insert id="insert" keyProperty="id" useGeneratedKeys="true" parameterType="com.demo.domain.CountRateConfig"> insert into query_rate_config (code,partner_type,search_count, booking_count, ticket_count,rate_type) values (#{code,jdbcType=VARCHAR},#{partnerType,jdbcType=TINYINT}, #{searchCount,jdbcType=INTEGER}, #{bookingCount,jdbcType=INTEGER}, #{ticketCount,jdbcType=INTEGER},#{rateType,jdbcType=TINYINT}) </insert>首先我们应该保证数据库的主键Id是自增的,另外需要设置的两个属性为:
keyProperty="id"
useGeneratedKeys="true"
这样的话,我们在插入数据之后,就可以得到插入数据之后的对象,然后通过该对象获取该对象的id。
useGeneratedKeys=”true” 可以获取自增长的ID 只支持具有自增长方式的那种数据库(mysql, mssql 等 但 oracle 就不支持了 )
案例如下:
1、MyBatis的配置文件如上遍所示的一段代码;
2、使用的Java代码如下:
@Override public int insert(CountRateConfig countRateConfig) { int insertNum = Integer.parseInt(countRateConfigMapper.insert(countRateConfig) + ""); Long id = countRateConfig.getId(); return insertNum; }3、上述代码,如果插入数据成功的话,则可以找到数据库中对应的key;
结果是正确的,即可以读取正确的id。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
很多时候,在向数据库插入数据时,需要保留插入数据的id,以便进行后续的update操作或者将id存入其他表作为外键。但是,在默认情况下,insert操作返回的是
LAST_INSERT_ID:LAST_INSERT_ID是与table无关的,如果向表a插入数据后,再向表b插入数据,LAST_INSERT_ID会改变。在多
需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。方法:在mapper中指定keyProperty属性,示例如下:ins
Python中貌似并没有直接返回插入数据id的操作(反正我是没找到),但是我们可以变通一下,找到最新插入的数据#!/usr/bin/envpython3#-*-
MySQL当记录不存在时插入(insertifnotexists)在MySQL中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这