先上代码:

controller:

result = service.insertTRbXdhjLendYdData(params);

service:

        List<TRbXdhjLendDTO> dtoList = (List<TRbXdhjLendDTO>) paramMap.get("jsonList");
//批量插入
dao.insertYdData(dtoList);

dao:

    /**
* 存储从工厂库抽取的易贷数据的放款信息
* @param paramMap
* @return
*/
public int insertYdData(List<TRbXdhjLendDTO> list);

mapper:

    <!-- 插入从工厂抽取的易贷数据的放款计划信息  -->
<insert id="insertYdData" parameterType="java.util.List">
insert into t_rb_xdhj_lend
(
id ,
submit_date ,
company_no ,
company_name ,
rgu_org_id ,
rgu_org_name ,
version ,
source_code ,
batch_num ,
loan_code ,
loan_start_time ,
loan_end_time ,
loan_name ,
user_idcard ,
user_idcard_hash ,
loan_use ,
type ,
loan_describe ,
amount ,
rate ,
term_type ,
term ,
pay_type ,
service_cost ,
risk_margin ,
loan_type ,
collateral_desc ,
create_user_id ,
create_date ,
validate_state ,
corporation_id ,
send_time ,
remark ,
product_code
)
select seq_SYS_APP_ERROR_INFO.nextval id,A.* from(
<foreach collection="list" item="dto" index="index" separator="UNION">
select
#{dto.submitDate,jdbcType=DATE} submit_date
,#{dto.companyNo,jdbcType=VARCHAR} company_no
,#{dto.companyName,jdbcType=VARCHAR} company_name
,#{dto.rguOrgId,jdbcType=DECIMAL} rgu_org_id
,#{dto.rguOrgName,jdbcType=VARCHAR} rgu_org_name
,#{dto.version,jdbcType=VARCHAR} version
,#{dto.sourceCode,jdbcType=VARCHAR} source_code
,#{dto.batchNum,jdbcType=VARCHAR} batch_num
,#{dto.loanCode,jdbcType=VARCHAR} loan_code
,#{dto.loanStartTime,jdbcType=VARCHAR} loan_start_time
,#{dto.loanEndTime,jdbcType=VARCHAR} loan_end_time
,#{dto.loanName,jdbcType=VARCHAR} loan_name
,#{dto.userIdcard,jdbcType=VARCHAR} user_idcard
,#{dto.userIdcardHash,jdbcType=VARCHAR} user_idcard_hash
,#{dto.loanUse,jdbcType=VARCHAR} loan_use
,#{dto.type,jdbcType=VARCHAR} type
,#{dto.loanDescribe,jdbcType=VARCHAR} loan_describe
,#{dto.amount,jdbcType=VARCHAR} amount
,#{dto.rate,jdbcType=VARCHAR} rate
,#{dto.termType,jdbcType=VARCHAR} term_type
,#{dto.term,jdbcType=VARCHAR} term
,#{dto.payType,jdbcType=VARCHAR} pay_type
,#{dto.serviceCost,jdbcType=VARCHAR} service_cost
,#{dto.riskMargin,jdbcType=VARCHAR} risk_margin
,#{dto.loanType,jdbcType=VARCHAR} loan_type
,#{dto.collateralDesc,jdbcType=VARCHAR} collateral_desc
,#{dto.createUserId,jdbcType=DECIMAL} create_user_id
,systimestamp create_date
,'1' validate_state
,#{dto.corporationId,jdbcType=DECIMAL} corporation_id
,#{dto.sendTime,jdbcType=TIMESTAMP} send_time
,#{dto.remark,jdbcType=VARCHAR} remark
,#{dto.productCode,jdbcType=VARCHAR} product_code
from dual
</foreach>
) A
</insert>

1、新增的数据含有ORACLE自增长序列;
2、union all 会报ORA:02287-此处不允许序号;

oracle结合mybatis批量插入数据的更多相关文章

  1. mybatis批量插入数据到oracle

    mybatis 批量插入数据到oracle报 ”java.sql.SQLException: ORA-00933: SQL 命令未正确结束“  错误解决方法 oracle批量插入使用 insert a ...

  2. Mybatis 批量插入数据

    --mybatis 批量插入数据 --1.Oracle(需要测试下是否支持MySQL) < insert id ="insertBatch" parameterType=&q ...

  3. 【转载】MyBatis批量插入数据(insert)

    介绍:MyBatis批量插入数据,原理就是在xml文件中添加 foreach 语句,然后MyBatis自动在values后面添加多个括号: XML文件如下: <?xml version=&quo ...

  4. mybatis批量插入数据

    Mybatis在执行批量插入时,如果使用的是for循环逐一插入,那么可以正确返回主键id.如果使用动态sql的foreach循环,那么返回的主键id列表,可能为null,这让很多人感到困惑:本文将分析 ...

  5. MyBatis批量插入数据(MySql)

    由于项目需要生成多条数据,并保存到数据库当中,在程序中封装了一个List集合对象,然后需要把该集合中的实体插入到数据库中,项目使用了Spring+MyBatis,所以打算使用MyBatis批量插入,应 ...

  6. MyBatis 批量插入数据的 3 种方法!

    批量插入功能是我们日常工作中比较常见的业务功能之一,之前我也写过一篇关于<MyBatis Plus 批量数据插入功能,yyds!>的文章,但评论区的反馈不是很好,主要有两个问题:第一,对 ...

  7. 160421、MyBatis批量插入数据

    在程序中封装了一个List集合对象,然后需要把该集合中的实体插入到数据库中,由于项目使用了Spring+MyBatis的配置,所以打算使用MyBatis批量插入,由于之前没用过批量插入,在网上找了一些 ...

  8. 基于Oracle的Mybatis 批量插入

    项目中会遇到这样的情况,一次性要插入多条数据到数据库中,有两种插入方法: 方法一: Mybatis本身只支持逐条插入,比较笨的方法,就是遍历一个List,循环中逐条插入,比如下面这段代码 for(Da ...

  9. MyBatis 批量插入数据对插入记录数的限制

    <基于 MyBatis 框架的批量数据插入的性能问题的探讨>(作者:魏静敏 刘欢杰 来源:<计算机光盘软件与应用> 2013 年第 19 期)中提到批量插入的记录数不能超过10 ...

随机推荐

  1. JAVA Socket通信 打造属于自己的网盘

    近一个月没敲JAVA代码了,最近老师布置了一个写JAVA网盘的作业,总共花了十几个小时,总算写完了,debug真的累,感觉自己还是菜了,没有那种有一个想法就能马上用代码实现的能力....不扯了,下面开 ...

  2. Spring框架学习09——基于AspectJ的AOP开发

    1.基于注解开发AspectJ (1)AspectJ注解 基于注解开发AspectJ要比基于XML配置开发AspectJ便捷许多,所以在实际开发中推荐使用注解方式.关于注解的相关内容如下: @Aspe ...

  3. MySQL数据库crash的问题分析

    [问题] 生产环境有多台slave服务器,不定期的会crash,下面是error log中的堆栈信息 Thread pointer: 0x7f1e54b26410 Attempting backtra ...

  4. 如何实现跨域获取iframe子页面动态的url

    有的时候iframe的子页面会动态的切换页面,我们在父页面通过iframe1.contentWindow.window.location只能获取同源的子页面的信息.获取跨域的子页面信息会报错. 这时可 ...

  5. Linux中ls -l(ll)返回结果中的文件访问权限-rw-r--rw-

    linux文件访问权限(像rw-r--rw-是什么意思)   Linux的文件访问权限分为 读.写.执行三种 r:可读(4) w:可写(2)对目录来说则可新建文件 x:可执行(1)对目录来说则可进入该 ...

  6. sql ,内连接,外连接,自然连接等各种连接

    1.内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和c ...

  7. SpringMVC默认欢迎页面的问题

    使用SpringMVC很长时间,一直有个问题没有搞定,就是web.xml中默认欢迎页面转向控制器的问题. 由于答应朋友明天要交个网站,他们对默认页面有这样的要求,并且最好也别用js等等的跳转:所以今天 ...

  8. Scala:HelloWorld

    代码 object HelloWorld { def main(args: Array[String]): Unit = { println("Hello world") } } ...

  9. 面向对象数据库(Object Oriented Databases)

    前面说几句费话.如今正在从事面向对象数据库在国内的推广工作,假设有兴趣能够与我联系. 假设有不论什么问题能够私信我,也能够到我们站点上 面向对象数据库交流社区 来向我提问,我一定以最快的速度解答. 想 ...

  10. Knockout.Js官网学习(Mapping插件)

    前言 Knockout设计成允许你使用任何JavaScript对象作为view model.必须view model的一些属性是observable的,你可以使用KO绑定他们到你的UI元素上,当这些o ...