<selectKey></selectKey>解析

本文详细解析了MyBatis框架中selectKey元素的作用,主要用于在插入操作前后获取数据库生成的主键值,适用于MySQL和PostgreSQL等数据库。通过具体示例说明了如何配置resultType、keyProperty和order属性,以及不同数据库环境下主键查询语句的写法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

selectKey的作用是在mybatis框架中,在插入到表格之后或者之前,查询主键的值。一下举例说明

<insert id="insert" parameterType="com.entity.User" >
      <selectKey resultType="java.lang.Integer" keyProperty="userId" order="AFTER">
      SELECT currval('upload_file_upload_id_seq') 
    </selectKey>
    insert into user(user_id, user_name
      )
    values (#{userId,jdbcType=INTEGER}, #{userName,jdbcType=VARCHAR}
      )
  </insert>

resultType:返回的主键的类型

keyPropety:实体类对应的主键的属性。

order:如果是after,那么先插入,在执行selectKey中的sql。如果是before,则反之。

SELECT currval('upload_file_upload_id_seq') :在mysql中,使用函数last_insert_id(),

                                                                    如果是postgresql,oracle,使用currval('upload_file_upload_id_seq')

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值