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>
  • 相关阅读:
    Gvim快捷键学习
    一步一步学习Vim 全图解释
    经典vim插件功能说明、安装方法和使用方法介绍
    中国数学数字图书馆
    RQNOJ第一题---PID1 / 明明的随机数
    gdb常用命令
    linux c下mysql编程样例
    linux c编程 -- 线程互斥
    linux c多线程编程范例
    数据结构 -- 可重用模块的接口设计模板
  • 原文地址:https://www.cnblogs.com/zhangruifeng/p/12263426.html
Copyright © 2011-2022 走看看