问题描述
- mybatis 动态insert 传入表名、字段名、数据
-
需求:
输入:1000个不同的csv文件,每个csv文件10000条记录;
输出:将这些文件存储到每个csv文件对应的数据库中的表中;求动态sql的书写???;
注:csv文件的第一行和数据库中的字段名一致
解决方案
mybatis 传入动态表名
MyBatis动态传入表名,字段名参数的解决办法
MyBatis,动态传入表名,字段名的解决办法
解决方案二:
insert into #{表名} (#{字段1},#{字段2}) values (#{参数1},#{参数2})
解决方案三:
insert into #{表名} (#{字段1},#{字段2}) values (#{参数1},#{参数2})
select 表序列.NEXTVAL from DUAL
insert into #{表名}
(ID, (#{字段1},#{字段2}) )
select 表的序列.NEXTVAL,a.* from (
separator="union all">
select
#{item.字段1,jdbcType=类型} as 字段1,
#{item.字段2,jdbcType=类型} as 字段2
from dual
) a
解决方案五:
INSERT ALL
<foreach collection="list" item="item">
INTO TRX_ITS_REPAY_PLAN
。。。。。
解决方案六:
看不明白,下面是我的方案,但是总报错
statementType="STATEMENT">
insert into nmc.${tableName}
item="item" index="index">
#{item}
select a.* from (
index="index">
select
#{value}
from dual
)a