MyBatis如何使用selectKey返回主键的值
时间:2022-03-04 11:23:25|栏目:JAVA代码|点击: 次
使用selectKey返回主键的值
使用<selectKey>标签来获取插入操作主键返回的值。
对于MySQL数据库
<insert id="insert">
insert into user(
username, password, email, info, headImg, createTime)
values(
#{username}, #{password}, #{email},
#{info}, #{headImg, jdbcType=BLOB},
#{createTime, jdbcType=TIMESTAMP})
<selectKey keyColumn="id" resultType="long" keyProperty="id" order="AFTER">
SELECT LAST_INSERT_ID()
</selectKey>
</insert>
通过selectkey返回insert或update后的值
实体类如下:

表结构如下:

其中varId为主键,但非自增
@selectKey使用
@selectKey
statement:指定查询的语句keyProperty:指定结果对应的实体类的字段,如果是多个字段,采用逗号,分隔。如varId,varName,keyColumn:指定stament语句返回的列明,与keyProperty对应,如果多个,采用逗号分隔。resultType:返回值类型before:ture,插入前执行,false插入后执行
插入时,如何查询当前最大id,并赋值给实体类,示例如下:
方案1
插入前,首先查询当前最大的id,并赋值给实体对象
如下:

方案2
插入时,获取当前最大值,插入
插入后,查询当前最大的id,并赋值给实体对象。
如下:

上一篇:mybatis Example的Criteria用法:or与isNull详解
栏 目:JAVA代码
本文标题:MyBatis如何使用selectKey返回主键的值
本文地址:http://www.codeinn.net/misctech/195205.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




