博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis随机生成可控制主键的方式
阅读量:5079 次
发布时间:2019-06-12

本文共 1110 字,大约阅读时间需要 3 分钟。

mybatis生成的主键,一般都是用数据库的序列,可是还有不同的写法,比如:

一、NUMBER类型的主键

<insert id="insertPeriodical" parameterType="cn.edu.hbcf.plugin.periodical.pojo.PeriodicalType">

     <selectKey keyProperty="id" resultType="java.lang.Integer" order="BEFORE">
        select nvl(max(ID),0)+1 from PERIODICAL_TYPE
    </selectKey>
        insert into PERIODICAL_TYPE
          (ID, YEAR, PERIODICAL_NO, OPER_USER, OPER_DATE)
        values
          (#{id},
           #{year,jdbcType=CHAR},
           #{periodicalNo,jdbcType=INTEGER},
           #{operUser,jdbcType=VARCHAR},
           #{operDate,jdbcType=DATE})
    </insert>

重点是:select nvl(max(ID),0)+1 from PERIODICAL_TYPE

二、VARCHAR类型的主键

<insert id="insertSmsRdSort" parameterType="SmsRdSort">

         <selectKey resultType="java.lang.String" keyProperty="sortId" order="BEFORE">
             select sys_guid() from dual
         </selectKey>
         insert into SMS_RD_SORT(SORT_ID,SORT_NAME,SORT_REMARK,TYPE_ID,UPDATE_USER,UPDATE_TIME,SORT_INDEX)
         values(#{sortId},#{sortName,jdbcType=VARCHAR},#{sortRemark,jdbcType=VARCHAR},#{typeId,jdbcType=VARCHAR},#{updateUser},#{updateTime,jdbcType=TIMESTAMP},#{sortIndex,jdbcType=VARCHAR})
     </insert>

重点是:select sys_guid() from dual

 

转载于:https://www.cnblogs.com/zrui-xyu/p/4613276.html

你可能感兴趣的文章
程序员的数学
查看>>
聚合与组合
查看>>
jQuery如何获得select选中的值?input单选radio选中的值
查看>>
设计模式 之 享元模式
查看>>
如何理解汉诺塔
查看>>
洛谷 P2089 烤鸡【DFS递归/10重枚举】
查看>>
15 FFT及其框图实现
查看>>
Linux基本操作
查看>>
osg ifc ifccolumn
查看>>
C++ STL partial_sort
查看>>
3.0.35 platform 设备资源和数据
查看>>
centos redis 安装过程,解决办法
查看>>
IOS小技巧整理
查看>>
WebDriverExtensionsByC#
查看>>
我眼中的技术地图
查看>>
lc 145. Binary Tree Postorder Traversal
查看>>
sublime 配置java运行环境
查看>>
在centos上开关tomcat
查看>>
重启rabbitmq服务
查看>>
正则表达式(进阶篇)
查看>>