在数据库中建序列: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>

mybatis主键自增长的更多相关文章

  1. oracle,mybatis主键自增长

    <insert id="insert" parameterType="resource"> <selectKey resultType=&qu ...

  2. Mybatis 操作数据库的主键自增长

    本篇文章将研究mybatis 实现oracle主键自增的机制 首先我们看对于同一张student表,对于mysql,sql server,oracle中它们都是怎样创建主键的 在mysql中 crea ...

  3. mybatis配置oracle的主键自增长

    引用自:https://hacpai.com/article/1405392025960 mysql.sqlserver等数据库本身带有主键自增长像auto_increment的功能可以直接使用 us ...

  4. MyBatis主键返回

    在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数:如果业务层需要得到记录的主键时,可以通过配置的方式来完成这个功能. 比如在表的关联关系中,将数据插入主 ...

  5. PowerDesigner 15设置mysql主键自动增长及基数

    PowerDesigner 15设置mysql主键自动增长及基数 1.双击标示图,打开table properties->columns,  如图点击图标Customize Columns an ...

  6. sql server小技巧-自动添加时间与主键自增长

    在敲机房收费系统的时候,遇到添加时间的时候总是通过vb端调用当前时间再添到sql server中,期间还有时因为添加时间格式的不统一导致一些小问题,现在才知道原来是自己孤陋寡闻,sql server ...

  7. Oracle实现主键自增长

    -- 主键设置:xx_id number(24) primary key 1 create sequence XX_seq --序列名称 increment by 1 -- 每次加几个 start - ...

  8. oracle 主键自动增长

    oracle 主键自动增长 2009-12-11 16:07:00|  分类: 数据库资料|字号 订阅     这几天搞Oracle,想让表的主键实现自动增长,查网络实现如下: create tabl ...

  9. MyBatis主键生成器SelectKeyGenerator(三)

    前面两篇博客我们介绍了MyBatis主键生成器KeyGenerator(一)和MyBatis主键生成器Jdbc3KeyGenerator(二),接下来我们介绍SelectKeyGenerator, 如 ...

随机推荐

  1. luogu1600 [NOIp2016]天天爱跑步 (tarjanLca+dfs)

    经过部分分的提示,我们可以把一条路径切成s到lca 和lca到t的链 这样就分为向上的链和向下的链,我们分开考虑: 向上:如果某一个链i可以对点x产生贡献,那么有deep[x]+w[x]=deep[S ...

  2. tf 常用函数 28原则

    一个tensorflow图由以下几部分组成: 占位符变量(Placeholder)用来改变图的输入. 模型变量(Model)将会被优化,使得模型表现得更好. 模型本质上就是一些数学函数,它根据Plac ...

  3. sklearn 的train_test_split

    train_test_split函数用于将矩阵随机划分为训练子集和测试子集,并返回划分好的训练集测试集样本和训练集测试集标签. 格式: from sklearn.model_selection imp ...

  4. mod(%)之规律(除数与被除数的正负分析)

    首先注意“-9 % 4”,根据运算符优先级,负号运算符优先级大于余数(取模),所以执行的是“(-9) % 4”. 其次 % = mod ,只是在不同地方表示方法不同而已. 被除数无论是正数和负数结果都 ...

  5. Java设计模式--缺省适配器模式

    我认为这个模式比较常见,还记得我们学习Swing的时候吗,有没有见过很多Adapter?那时候不知道Adapter的意义所在,但至少知道他能够省去我们不需要的实现. 这个社会有N中职业(job),但是 ...

  6. Optional与Mybatis能否一起

    1.mybatis的@Param()参数传递的问题,与JDK1.8的Optional的返回值问题.使用Optional与spring-data-jpa和mybatis有啥区别? 使用spring-da ...

  7. go struct结构体

    struct结构体 用来自定义复杂数据结构 struct里面可以包含多个字段(属性),字段可以是任意类型 struct类型可以定义方法,注意和函数的区分 struct类型是值类型 struct类型可以 ...

  8. Spark进阶之路-Spark提交Jar包执行

    Spark进阶之路-Spark提交Jar包执行 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在实际开发中,使用spark-submit提交jar包是很常见的方式,因为用spark ...

  9. my phone blackberry classic / passport / priv / keyone

    smy blackberry classic PIN: 2BF66A72 / 查看手机位置https://protect.blackberry.com/protect/mydevice#BlackBe ...

  10. vue基础篇---修改对象或数组的值,页面实时刷新

    这个问题估计大家很难想到,如果一个数组[1,2,3,4],然后我们v-for遍历,我们改变数组的值,arr[1] = 5 ,难道不应该改变么?按理说根据vue的特性应该是改变的,但是事实上确实数组已经 ...