mybatis父子表批量插入
<!--父子表批量插入 -->
<insert id="insertBatch" parameterType="com.niwopay.dto.benifit.JFOrderVipDTO">
begin
insert into TB_JF_ORDER
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="orderId != null" >
ORDER_ID,
</if>
<if test="extOrderId != null" >
EXT_ORDER_ID,
</if>
<if test="deviceChannel != null" >
DEVICE_CHANNEL,
</if>
<if test="bizChannel != null" >
BIZ_CHANNEL,
</if>
<if test="orderType != null" >
ORDER_TYPE,
</if>
<if test="userId != null" >
USER_ID,
</if>
<if test="orderDate != null" >
ORDER_DATE,
</if>
<if test="orderAmount != null" >
ORDER_AMOUNT,
</if>
<if test="productAmount != null" >
PRODUCT_AMOUNT,
</if>
<if test="payAmount != null" >
PAY_AMOUNT,
</if>
<if test="fee != null" >
FEE,
</if>
<if test="sales != null" >
SALES,
</if>
<if test="freight != null" >
FREIGHT,
</if>
<if test="deliveryState != null" >
DELIVERY_STATE,
</if>
<if test="orderState != null" >
ORDER_STATE,
</if>
<if test="orderDesc != null" >
ORDER_DESC,
</if>
<if test="remark != null" >
REMARK,
</if>
<if test="createDate != null" >
CREATE_DATE,
</if>
<if test="payDate != null" >
PAY_DATE,
</if>
<if test="finishDate != null" >
FINISH_DATE,
</if>
<if test="returnDate != null" >
RETURN_DATE,
</if>
<if test="closeDate != null" >
CLOSE_DATE,
</if>
<if test="deliveryDate != null" >
DELIVERY_DATE,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="orderId != null" >
#{orderId,jdbcType=VARCHAR},
</if>
<if test="extOrderId != null" >
#{extOrderId,jdbcType=VARCHAR},
</if>
<if test="deviceChannel != null" >
#{deviceChannel,jdbcType=VARCHAR},
</if>
<if test="bizChannel != null" >
#{bizChannel,jdbcType=VARCHAR},
</if>
<if test="orderType != null" >
#{orderType,jdbcType=CHAR},
</if>
<if test="userId != null" >
#{userId,jdbcType=VARCHAR},
</if>
<if test="orderDate != null" >
#{orderDate,jdbcType=CHAR},
</if>
<if test="orderAmount != null" >
#{orderAmount,jdbcType=VARCHAR},
</if>
<if test="productAmount != null" >
#{productAmount,jdbcType=VARCHAR},
</if>
<if test="payAmount != null" >
#{payAmount,jdbcType=VARCHAR},
</if>
<if test="fee != null" >
#{fee,jdbcType=VARCHAR},
</if>
<if test="sales != null" >
#{sales,jdbcType=VARCHAR},
</if>
<if test="freight != null" >
#{freight,jdbcType=VARCHAR},
</if>
<if test="deliveryState != null" >
#{deliveryState,jdbcType=CHAR},
</if>
<if test="orderState != null" >
#{orderState,jdbcType=CHAR},
</if>
<if test="orderDesc != null" >
#{orderDesc,jdbcType=VARCHAR},
</if>
<if test="remark != null" >
#{remark,jdbcType=VARCHAR},
</if>
<if test="createDate != null" >
#{createDate,jdbcType=DATE},
</if>
<if test="payDate != null" >
#{payDate,jdbcType=DATE},
</if>
<if test="finishDate != null" >
#{finishDate,jdbcType=DATE},
</if>
<if test="returnDate != null" >
#{returnDate,jdbcType=DATE},
</if>
<if test="closeDate != null" >
#{closeDate,jdbcType=DATE},
</if>
<if test="deliveryDate != null" >
#{deliveryDate,jdbcType=DATE},
</if>
</trim>; insert into TB_JF_ORDER_VIP
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="orderId != null" >
ORDER_ID,
</if>
<if test="accountName != null" >
ACCOUNT_NAME,
</if>
<if test="cardNo != null" >
CARD_NO,
</if>
<if test="bankName != null" >
BANK_NAME,
</if>
<if test="province != null" >
PROVINCE,
</if>
<if test="city != null" >
CITY,
</if>
<if test="branch != null" >
BRANCH,
</if>
<if test="cpTradingStatus != null" >
CP_TRADING_STATUS,
</if>
<if test="bankCardId != null" >
BANK_CARD_ID,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="orderId != null" >
#{orderId,jdbcType=VARCHAR},
</if>
<if test="accountName != null" >
#{accountName,jdbcType=VARCHAR},
</if>
<if test="cardNo != null" >
#{cardNo,jdbcType=VARCHAR},
</if>
<if test="bankName != null" >
#{bankName,jdbcType=VARCHAR},
</if>
<if test="province != null" >
#{province,jdbcType=VARCHAR},
</if>
<if test="city != null" >
#{city,jdbcType=VARCHAR},
</if>
<if test="branch != null" >
#{branch,jdbcType=VARCHAR},
</if>
<if test="cpTradingStatus != null" >
#{cpTradingStatus,jdbcType=CHAR},
</if>
<if test="bankCardId != null" >
#{bankCardId,jdbcType=CHAR},
</if>
</trim>;
end;
</insert>
1、然后调用public int batchUpdate(final String statementName, final List<?> parameters);传入paramter参数的集合即可。
这种方式使用批量插入父子表。
2、不需要批量插入,但是插入一张主表的同时插入多张字表
<insert id="insertQuotePlan" parameterType="com.taolue.api.interf.insurance.dto.QuotePlanDTO">
begin
insert into TB_CAR_INSURANCE_QUOTA_PLAN
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="QuotePlanID != null" >
QUOTA_PLAN_ID,
</if>
<if test="userId != null" >
USER_ID,
</if>
<if test="CityID != null" >
CITY_ID,
</if>
<if test="VipCarID != null" >
VIP_CAR_ID,
</if>
<if test="InsureStartDate != null" >
INSURE_START_DATE,
</if>
<if test="BusinessStartDate != null" >
BUSINESS_START_DATE,
</if>
<if test="createTime != null" >
CREATE_TIME,
</if>
<if test="itemKind != null" >
INTEM_KIND,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="QuotePlanID != null" >
#{QuotePlanID,jdbcType=VARCHAR},
</if>
<if test="userId != null" >
#{userId,jdbcType=VARCHAR},
</if>
<if test="CityID != null" >
#{CityID,jdbcType=VARCHAR},
</if>
<if test="VipCarID != null" >
#{VipCarID,jdbcType=VARCHAR},
</if>
<if test="InsureStartDate != null" >
#{InsureStartDate,jdbcType=VARCHAR},
</if>
<if test="BusinessStartDate != null" >
#{BusinessStartDate,jdbcType=VARCHAR},
</if>
<if test="createTime != null" >
#{createTime,jdbcType=DATE},
</if>
<if test="itemKind != null" >
#{itemKind,jdbcType=CLOB},
</if>
</trim>;
<if test="quotePriceList != null and quotePriceList.size>0" >
<foreach collection="quotePriceList" item="item" index="index">
insert into TB_CAR_INSURANCE_QUOTA_PRICE (quota_id,quota_plan_id,company_id,company_name,company_code) values (#{item.quotaId},#{QuotePlanID},#{item.companyId},#{item.companyName},#{item.companyCode});
</foreach>
</if>
end;
</insert>
mybatis父子表批量插入的更多相关文章
- MyBatis 使用 foreach 批量插入
MyBatis 使用 foreach 批量插入 参考博文 老司机学习MyBatis之动态SQL使用foreach在MySQL中批量插入 使用MyBatis一次性插入多条数据时候可以使用 <for ...
- mybatis oracle mysql 批量插入时的坑爹问题--需谨记
mybatis oracle mysql 批量插入一.oracle的批量插入方式insert into db(id, zgbh, shbzh) select '1', '2', '3' from du ...
- Mybatis与JDBC批量插入MySQL数据库性能测试及解决方案
转自http://www.cnblogs.com/fnz0/p/5713102.html 不知道自己什么时候才有这种钻研精神- -. 1 背景 系统中需要批量生成单据数据到数据库表,所以采用 ...
- mybatis使用序列批量插入数据
mybatis只提供了单条数据的插入,要批量插入数据我们可以使用循环一条条的插入,但是这样做的效率太低下,每插入一条数据就需要提交一次,如果数据量几百上千甚至更多,插入性能往往不是我们能接受的,如下例 ...
- Dapper系列之一:Dapper的入门(多表批量插入)
Dapper介绍 简介: 不知道博客怎么去写去排版,查了好多相关博客,也根据自己做过项目总结,正好最近搭个微服务框架,顺便把搭建微服务框架所运用的知识都进行博客梳理,为了以后复习,就仔细琢 ...
- MyBatis操作Oracle批量插入 ORA-00933: SQL 命令未正确结束
最近在使用MyBatis操作Oracle数据库的时候,进行批量插入数据,思路是封装一个List集合通过Myabtis 的foreach标签进行循环插入,可是搬照Mysql的批量插入会产生 异常 ### ...
- mybatis+oracle的批量插入
// 批量插入,手动控制事务 SqlSession batchSqlSession = null; try { batchSqlSession = sqlSessionTemplate.getSqlS ...
- 关于 MyBatis MyBatis-Spring Jdbc 批量插入的各种比较分析
因为目前SME项目中编写了一套蜘蛛爬虫程序,所以导致插入数据库的数据量剧增.就项目中使用到的3种DB插入方式进行了一个Demo分析: 具体代码如下: 1: MyBatis 开启Batch方式,最普通的 ...
- mybatis支持oracle批量插入
问题:mysql使用mybatis批量插入时,通过foreach标签,将每条记录按照逗号","连接即可. 但是,oracle不支持. oracle支持如下写法: <inser ...
随机推荐
- spark-sql访问hive的问题记录
好久没有弄博客了... hive0.14 spark0.12 [hadoop@irs bin]$ ./spark-sql Spark assembly has been built with Hive ...
- gulp完全开发指南 => 快来换掉你的Grunt吧
最近一直在构建Angular应用,通过bower管理前端包依赖,然后通过gulp和它配合.发现gulp相比于grunt真的很轻,现在我的项目中已经取代了grunt.这里把我的一些实践贴记录下来和大家分 ...
- 【wikioi】2822 爱在心中
题目链接 算法:Tarjan+dfs(最短路的都行,判连通而已) 先了解一下什么是Tarjan Tarjan算法用于求出图中所有的强连通分量. 转自NOCOW:点击打开链接 ============= ...
- 【BZOJ1088】[SCOI2005]扫雷Mine 递推
调LCT奔溃,刷水调节一下. #include <iostream> #include <cstdio> #include <cstring> using name ...
- 构建json数据post到接口的若干条规则
接受数据接口: public ActionResult PostDownloadLog(PostDownloadLog postDownloadLogs) PostDownLoadLogL类 publ ...
- 本地C代码中创建Java对象
作者:唐老师,华清远见嵌入式学院讲师. 创建Java域的对象就是创建Java类的实例,再调用Java类的构造方法. 以Bitmap的构建为例,Bitmap中并没有Java对象创建的代码及外部能访问的构 ...
- 深入浅出 - Android系统移植与平台开发(十) - led HAL简单设计案例分析
作者:唐老师,华清远见嵌入式学院讲师. 通过前两节HAL框架分析和JNI概述,我们对Android提供的Stub HAL有了比较详细的了解了,下面我们来看下led的实例,写驱动点亮led灯,就如同写程 ...
- PHP 进行数据庫对比工具
<?php /** * author jackluo * net.webjoy@gmail.com */ class IMysqlDiff { private $master,$slave; p ...
- 纪念逝去的岁月——C/C++排序二叉树
1.代码 2.运行结果 3.分析 1.代码 #include <stdio.h> #include <stdlib.h> typedef struct _Node { int ...
- webservice的Axis2入门教程java版
本文转自百度文库 Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物.Axis2不仅支持SOAP1.1和SOAP1.2,还集成了非常流行的REST WebServi ...