zoukankan      html  css  js  c++  java
  • mybatis主键自增长

    在数据库中建序列:SEQ_T_RESOURCE

    第一种:会在传入该方法的的参数集合中添加主键元素,相当于:map.put("RES_ID",xxx);

    <insert id="saveForImport" parameterType="map">
    
            <selectKey keyProperty="RES_ID" order="BEFORE" resultType="string">
    
                SELECT SEQ_T_RESOURCE.NEXTVAL AS RES_ID FROM DUAL
    
            </selectKey>
    
            INSERT INTO T_RESOURCE(
    
                RES_ID,
    
                RES_NO,
    
                RES_NAME)
    
            values(
    
                #{RES_ID},
    
                #{RES_NO},
    
                #{RES_NAME,jdbcType=VARCHAR})
    
        </insert>

    第二种:不需要返回插入的主键值

    <insert id="saveForImport" parameterType="map">
    
            INSERT INTO T_RESOURCE(
    
                RES_ID,
    
                RES_NO,
    
                RES_NAME)
    
            values(
    
                SEQ_T_RESOURCE.NEXTVAL,
    
                #{RES_NO},
    
                #{RES_NAME,jdbcType=VARCHAR})
    
        </insert>

    第三种:会在传入该方法的的参数集合中添加主键元素,相当于:map.put("RES_ID",xxx);

    <insert id="doSaveTaskDetail" parameterType="map" >
    
        insert into tb_cablecheck_taskdetail(
    
            DETAIL_ID,
    
            TASK_ID)
    
            values
    
            (SQP_TB_CABLECHECK_TASK_DETAIL.nextVAL,
    
            #{TASK_ID},
    
            #{INSPECT_OBJECT_ID})
    
            <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="DETAIL_ID">
    
                SELECT SQP_TB_CABLECHECK_TASK_DETAIL.CURRVAL FROM DUAL
    
            </selectKey>
    
    </insert>

    第四种:

    先写个方法,获取recordId,然后作为参数传入插入表的SQL

    int recordId = checkOrderDao.getRecordId();

    <select id="getRecordId" resultType="int">
    
    select SEQ_TB_EQPRECORD.NEXTVAL from DUAL
    
    </select>
    
    <insert id="insertEqpRecord" parameterType="map">
    
        insert into tb_cablecheck_record
    
          (RECORD_ID,
    
           EQP_ID,
    
           EQP_NO,
    
           EQP_NAME)
    
        values
    
          (#{recordId},
    
           #{eqpId},
    
           #{eqpNo},
    
           #{eqpName})
    
    </insert>
  • 相关阅读:
    1065 01字符串
    poj 1321 棋盘问题
    0608模拟算法试题
    唯一的雪花
    2969 角谷猜想
    0607枚举算法试题
    3162 抄书问题(划分dp)
    8782:乘积最大(划分dp)
    2985:数字组合
    3531:判断整除
  • 原文地址:https://www.cnblogs.com/xyhero/p/eddc8b6d74e4fcd335a9c04d00a87165.html
Copyright © 2011-2022 走看看