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>
mybatis主键自增长的更多相关文章
- oracle,mybatis主键自增长
<insert id="insert" parameterType="resource"> <selectKey resultType=&qu ...
- Mybatis 操作数据库的主键自增长
本篇文章将研究mybatis 实现oracle主键自增的机制 首先我们看对于同一张student表,对于mysql,sql server,oracle中它们都是怎样创建主键的 在mysql中 crea ...
- mybatis配置oracle的主键自增长
引用自:https://hacpai.com/article/1405392025960 mysql.sqlserver等数据库本身带有主键自增长像auto_increment的功能可以直接使用 us ...
- MyBatis主键返回
在使用MyBatis做持久层时,insert语句默认是不返回记录的主键值,而是返回插入的记录条数:如果业务层需要得到记录的主键时,可以通过配置的方式来完成这个功能. 比如在表的关联关系中,将数据插入主 ...
- PowerDesigner 15设置mysql主键自动增长及基数
PowerDesigner 15设置mysql主键自动增长及基数 1.双击标示图,打开table properties->columns, 如图点击图标Customize Columns an ...
- sql server小技巧-自动添加时间与主键自增长
在敲机房收费系统的时候,遇到添加时间的时候总是通过vb端调用当前时间再添到sql server中,期间还有时因为添加时间格式的不统一导致一些小问题,现在才知道原来是自己孤陋寡闻,sql server ...
- Oracle实现主键自增长
-- 主键设置:xx_id number(24) primary key 1 create sequence XX_seq --序列名称 increment by 1 -- 每次加几个 start - ...
- oracle 主键自动增长
oracle 主键自动增长 2009-12-11 16:07:00| 分类: 数据库资料|字号 订阅 这几天搞Oracle,想让表的主键实现自动增长,查网络实现如下: create tabl ...
- MyBatis主键生成器SelectKeyGenerator(三)
前面两篇博客我们介绍了MyBatis主键生成器KeyGenerator(一)和MyBatis主键生成器Jdbc3KeyGenerator(二),接下来我们介绍SelectKeyGenerator, 如 ...
随机推荐
- 省选前的th题
沙茶博主终于整完了知识点并学完了早该在NOIP之前学的知识们 于是终于开始见题了,之前那个奇怪的题单的结果就是这个了 题目按沙茶博主的做题顺序排序 个人感觉(暂时)意义不大的已被自动忽略 洛谷 491 ...
- [Cqoi2014]数三角形——组合数
Description: 给定一个nxm的网格,请计算三点都在格点上的三角形共有多少个.下图为4x4的网格上的一个三角形. 注意三角形的三点不能共线. Hint: 1<=m,n<=1000 ...
- C# ADO.NET与面向对象
软件开发的三层:界面层,业务逻辑层,数据访问层: 数据访问层:项目添加App_Code文件夹: 实体类:根据数据库表结构,类名和数据库表名一致: 每个成员变量要与数据库表的列相对应,对象正好可以列为一 ...
- Mac上配置idea的项目上传到GitHub
1.安装git,Mac默认已经安装了Git,可以通过命令git —version查询一下. 2.创建SSH KEY(如果已经创建过,则不用再次创建.查看~/.ssh/id_rsa.pub是否存在) 生 ...
- shiro项目从 log4j1X 迁移到 log4j2X
先说一下,shiro依赖的项目不是log4j 而是 SLF4J框架. 我们原来用1X版本的jar包如下: log4j-1.2.17.jar slf4j-api-1.7.22.jar slf4j-log ...
- 在Vue中如何使用axios跨域访问数据
最近在项目中需要用到axios,所以就恶补一下这个axios到底是什么东东.越来它是vue-resource的替代品,官网也说了,以后都用axios, vue-resource不在维护.那么这个axi ...
- 解决IIS8中 URLRewriter 不能使用的方法
1.把应用程序池改成集成 2.的web.config 加入代码 <system.webServer> <validation validateIntegratedModeConfig ...
- Div里超出部分,省略号显示
1.一行显示并出现省略号 1)三个属性: overflow: hidden; text-overflow: ellipsis; white-space: nowrap; overflow: hidde ...
- String转换为Map
Map<String,Integer> rulsMap = new Gson().fromJson(cachedobj.toString(),new TypeToken<Map< ...
- 多目标遗传算法 ------ NSGA-II (部分源码解析)两个个体支配判断 dominance.c
/* Domination checking routines */ # include <stdio.h> # include <stdlib.h> # include &l ...