zoukankan      html  css  js  c++  java
  • MyBatis插入时获取自增长主键

    在某些场景下,我们需要使用mybatis返回生成的主键值。Mybatis在insert和update标签中就提供了这种功能。

    方法1:

    <insert id=”indetifyId”  useGeneratedKeys=”true” keyProperty=”id” keyColumn="id">
    
    </insert>
    • useGeneratedKeys: 是否自动生成主键,默认false
    • keyProperty :返回的主键值赋给哪个属性
    • keyColumn: 数据库中的自增主键的列名,默认是数据库表的第一列。当主键列不是表中的第一列的时候需要设置,PostgreSQL必须设置。
    • 主键自动生成,取决于数据库是否支持自增主键。实际上当设置了useGeneratedKeys=“true”,Mybatis会调用JDBC的getGeneratedKeys方法,并将获取的主键值赋值给keyProperty 指定的属性。

    方法2:

        <insert id="insertCustomer" parameterType="cn.rayfoo.bean.Customer">
            <!--
            获取插入的最后一个id
            keyColumn 哪个字段时自增长id
            keyProperty 将值保存到parameterType对应bean对象的那个属性中
            resultType 该属性的类型
            order 执行sql后赋值还是执行之前赋值
            -->
            <selectKey keyColumn="cust_id" keyProperty="cust_id" resultType="Integer" order="AFTER">
                select last_insert_id()
            </selectKey>
            insert into customer(cust_name,cust_profession,cust_phone,email)
            values(#{cust_name},#{cust_profession},#{cust_phone},#{email});
        </insert>
  • 相关阅读:
    my15_ mysql binlog格式从mixed修改为row格式
    my14_mysql指定时间恢复之模拟从库
    my13_mysql xtrabackup备份的时间点
    必知必会的图论算法
    leetcde37. Sudoku Solver
    leetcode36. Valid Sudoku
    leetcode52. N-Queens II
    leetcode51. N-Queens
    First Missing Positive
    Maximum Gap
  • 原文地址:https://www.cnblogs.com/zhangruifeng/p/12263426.html
Copyright © 2011-2022 走看看