2 brusezhu brusezhu 于 2015.07.17 09:29 提问

mybatis 动态insert 传入表名、字段名、数据

需求:
输入:1000个不同的csv文件,每个csv文件10000条记录;
输出:将这些文件存储到每个csv文件对应的数据库中的表中;

求动态sql的书写???;
注:csv文件的第一行和数据库中的字段名一致

6个回答

strutce
strutce   Ds   Rxr 2015.07.17 09:34

insert into #{表名} (#{字段1},#{字段2}) values (#{参数1},#{参数2})

brusezhu
brusezhu 需要批量插入1w条数据,这个功能没有实现啊
2 年多之前 回复
CSDNXIAOD
CSDNXIAOD   2015.07.17 09:32

mybatis 传入动态表名
MyBatis动态传入表名,字段名参数的解决办法
MyBatis,动态传入表名,字段名的解决办法
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

strutce
strutce   Ds   Rxr 2015.07.17 10:36

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

strutce
strutce   Ds   Rxr 2015.07.17 10:38

图片说明

brusezhu
brusezhu 谢谢你啊,可是还有个问题没有解决,就是字段名个数不固定
2 年多之前 回复
Evankaka
Evankaka   Ds   Rxr 2015.07.17 12:30
INSERT ALL
    <foreach collection="list"  item="item">
        INTO TRX_ITS_REPAY_PLAN 
        。。。。。
brusezhu
brusezhu   2015.07.17 13:17

看不明白,下面是我的方案,但是总报错
statementType="STATEMENT">
insert into nmc.${tableName}
item="item" index="index">
#{item}

select a.* from (
index="index">
select

#{value}

from dual

)a

Csdn user default icon
上传中...
上传图片
插入图片