在数据库中建序列: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. bzoj3672/luogu2305 购票 (运用点分治思想的树上cdq分治+斜率优化dp)

    我们都做过一道题(?)货币兑换,是用cdq分治来解决不单调的斜率优化 现在它放到了树上.. 总之先写下来dp方程,$f[i]=min\{f[j]+(dis[i]-dis[j])*p[i]+q[i]\} ...

  2. 【BZOJ1558】等差数列(线段树)

    [BZOJ1558]等差数列(线段树) 题面 BZOJ 题解 可以说这道题已经非常毒瘤了 怎么考虑询问操作? 如果直接将一段数分解为等差数列? 太麻烦了.... 考虑相邻的数做差, 这样等差数列变为了 ...

  3. re正则模块(二十五)

    一:什么是正则? 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则.(在Python中)它内嵌在Python中,并通过 r ...

  4. js兼容火狐显示上传图片预览效果

    js兼容火狐显示上传图片预览效果[谷歌也适用] <!doctype html> <html> <head> <meta content="text/ ...

  5. (stripTrailingZeros)A == B hdu2054

    A == B ? 链接:http://acm.hdu.edu.cn/showproblem.php?pid=2054 Problem Description Give you two numbers ...

  6. 何谓SQL Server参数嗅探

    大家听到"嗅探"这个词应该会觉得跟黑客肯定有关系吧,使用工具嗅探一下参数,然后截获,脱裤o(∩_∩)o . 事实上,我觉得大家太敏感了,其实这篇文章跟数据库安全没有什么关系,实际上 ...

  7. java连接mysql的过程

    今天突然心血来潮,想要用java连接mysql,记得以前是在vs2010的环境下用C#连接sql sever,其实他们的方法都差不多. 现在就可以简单的介绍下java如何连接mysql 第一步,设计m ...

  8. H5新特性之canvas

    canvas无疑是H5之中最受欢迎的新特性了,它可以让浏览毫无费力的画出各种图案,动画. canvas的性能不会因为画布上的图案多少而改变,因此做动画用canvas性能也相当优秀. canvas最基本 ...

  9. div无法触发blur事件解决办法

    默认情况下div无法获取焦点,无法触发focus与blur事件,猜测span,a等标签也无法触发焦点事件(input:button,及button标签可以触发) 如何使div触发blur事件:可以给d ...

  10. jenkins master-slave配置

    如果要想自动化构建,需要slave主机能够从源码库上拉代码,并打包构建 选取指定的slave进行构建 jenkins + docker 实现slave的动态构建和销毁 https://www.cnbl ...