oracle结合mybatis批量插入数据
先上代码:
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批量插入数据的更多相关文章
- mybatis批量插入数据到oracle
mybatis 批量插入数据到oracle报 ”java.sql.SQLException: ORA-00933: SQL 命令未正确结束“ 错误解决方法 oracle批量插入使用 insert a ...
- Mybatis 批量插入数据
--mybatis 批量插入数据 --1.Oracle(需要测试下是否支持MySQL) < insert id ="insertBatch" parameterType=&q ...
- 【转载】MyBatis批量插入数据(insert)
介绍:MyBatis批量插入数据,原理就是在xml文件中添加 foreach 语句,然后MyBatis自动在values后面添加多个括号: XML文件如下: <?xml version=&quo ...
- mybatis批量插入数据
Mybatis在执行批量插入时,如果使用的是for循环逐一插入,那么可以正确返回主键id.如果使用动态sql的foreach循环,那么返回的主键id列表,可能为null,这让很多人感到困惑:本文将分析 ...
- MyBatis批量插入数据(MySql)
由于项目需要生成多条数据,并保存到数据库当中,在程序中封装了一个List集合对象,然后需要把该集合中的实体插入到数据库中,项目使用了Spring+MyBatis,所以打算使用MyBatis批量插入,应 ...
- MyBatis 批量插入数据的 3 种方法!
批量插入功能是我们日常工作中比较常见的业务功能之一,之前我也写过一篇关于<MyBatis Plus 批量数据插入功能,yyds!>的文章,但评论区的反馈不是很好,主要有两个问题:第一,对 ...
- 160421、MyBatis批量插入数据
在程序中封装了一个List集合对象,然后需要把该集合中的实体插入到数据库中,由于项目使用了Spring+MyBatis的配置,所以打算使用MyBatis批量插入,由于之前没用过批量插入,在网上找了一些 ...
- 基于Oracle的Mybatis 批量插入
项目中会遇到这样的情况,一次性要插入多条数据到数据库中,有两种插入方法: 方法一: Mybatis本身只支持逐条插入,比较笨的方法,就是遍历一个List,循环中逐条插入,比如下面这段代码 for(Da ...
- MyBatis 批量插入数据对插入记录数的限制
<基于 MyBatis 框架的批量数据插入的性能问题的探讨>(作者:魏静敏 刘欢杰 来源:<计算机光盘软件与应用> 2013 年第 19 期)中提到批量插入的记录数不能超过10 ...
随机推荐
- npm link中文文档
Symlink(符号链接)一个package文件夹. 概括 npm link (in package dir) npm link [<@scope>/]<pkg>[@<v ...
- MongoDB--集群
为什么需要集群 为了让数据安全 高(24* 7)数据可用性 灾难恢复 无停机维护(如备份,索引重建,压实) 读缩放(额外的副本读取) 副本集对应用程序是透明 设置集群 准备工作 在MongoDB的集群 ...
- 利用SQL为Code128码添加起始符和休止符
在利用code128码字体打印条码是,打印出来的条形码,扫描枪会出现认不出的情况,这种情况是由于直接将文本设置为code128字体而没有给他们指定起始符和休止符引起的. 经过查资料获发现好多人遇到这样 ...
- BZOJ.2229.[ZJOI2011]最小割(最小割树)
题目链接 题意:给定一张无向图,求任意两点之间的最小割. 在所有点中任选两个点作为源点\(S\).汇点\(T\),求它们之间的最小割\(ans\),并把原图分成两个点集\(S',T'\),用\(ans ...
- 使用 IntraWeb (29) - 基本控件之 TIWAutherList、TIWAutherINI、TIWAutherEvent
TIWAutherList //通过一组户名与密码验证登陆 TIWAutherINI //通过记录户名与密码信息的 #Auth.ini 文件验证登陆 TIWAutherEvent //通过其 OnCh ...
- Winform自动更新组件分享
作者:圣殿骑士 出处:http://www.cnblogs.com/KnightsWarrior/ 关于作者:专注于微软平台项目架构.管理和企业解决方案.自认在面向对象及面向服务领域有一定的造诣,熟悉 ...
- HDOJ 1770 - 阅读理解...树形DP
题意: 一个能量E可以通过吸收某个光子的能量变成E1或者释放某个光子的能量变成E2...并且任意两个能量的转化路径至多一条...现在有一堆能量,有一堆光子...如果某个能量与某个光子做直接运算(加上其 ...
- FDMEMTABLE将修改后的数据序列为JSON
FDMEMTABLE将修改后的数据序列为JSON procedure TForm1.Button3Click(Sender: TObject); var memtable: TFDMemTable; ...
- Struts2漏洞拉响网站安全红色警报以及把Struts2更新为最新版本Struts2.3.15.1步骤
360网站安全检测平台今日发布红色警报称,广泛应用在国内大型网站系统的Struts2框架正在遭到黑客猛烈攻击.利用Struts2“命令执行漏洞”,黑客可轻易获得网站服务器ROOT权限.执行任意命令,从 ...
- Java中部分常见语法糖
语法糖(Syntactic Sugar),也称糖衣语法,指在计算机语言中添加的某种语法,这种语法对语言本身功能来说没有什么影响,只是为了方便程序员的开发,提高开发效率.说白了,语法糖就是对现有语法的一 ...