MyBatis如何使用selectKey返回主键的值
目录
- 使用selectKey返回主键的值
- 对于MySQL数据库
- 通过selectkey返回insert或update后的值
- @selectKey使用
- 方案1
- 方案2
使用selectKey返回主键的值 使用标签来获取插入操作主键返回的值。
对于MySQL数据库
insert into user(username, password, email, info, headImg, createTime)values(#{username}, #{password}, #{email},#{info}, #{headImg, jdbcType=BLOB},#{createTime, jdbcType=TIMESTAMP})SELECT LAST_INSERT_ID()
通过selectkey返回insert或update后的值 实体类如下:
文章图片
表结构如下:
文章图片
其中varId为主键,但非自增
@selectKey使用
@selectKey
statement
:指定查询的语句keyProperty
:指定结果对应的实体类的字段,如果是多个字段,采用逗号,分隔。如varId,varName,keyColumn
:指定stament语句返回的列明,与keyProperty对应,如果多个,采用逗号分隔。resultType
:返回值类型before
:ture,插入前执行,false插入后执行
方案1
【MyBatis如何使用selectKey返回主键的值】插入前,首先查询当前最大的id,并赋值给实体对象
如下:
文章图片
方案2
插入时,获取当前最大值,插入
插入后,查询当前最大的id,并赋值给实体对象。
如下:
文章图片
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
推荐阅读
- SpringBoot如何进行参数校验实例详解
- 初学jest,如何配置支持esmodule、ts
- MyBatis中一对多的xml配置方式(嵌套查询/嵌套结果)
- 浅谈spring使用策略模式实现多种场景登录方式
- C++|C++ std::shared_mutex读写锁的使用
- Java|Java 精炼解读递归的概念与使用
- 从构建到使用,openLooKeng 如何实现 Hash Join ()
- 详解如何在JavaScript中创建线性仪表图
- Vuex详细介绍和使用方法
- 如何使用DTM将App事件发送到Google|如何使用DTM将App事件发送到Google Analytics