永发信息网

mybatis获取一个list怎么添加到数据库里

答案:2  悬赏:0  手机版
解决时间 2021-03-05 21:48
mybatis获取一个list怎么添加到数据库里
最佳答案
思路为采用Oracle 中insert语句的高级用法:INSERT ALL ,批量插入数据:
INSERT ALL举例:
1、建测试表
CREATE TABLE EDW_INT   
(   
  AGMT_NO         VARCHAr2(40 BYTE)             NOT NULL,   
  AGMT_SUB_NO     VARCHAr2(4 BYTE)              NOT NULL,   
  NEED_REPAY_INT  NUMBER(22,2),   
  CURR_PERIOD     NUMBER(4)                     NOT NULL   
);   
CREATE TABLE EDW_INT_1   
(   
  AGMT_NO         VARCHAr2(40 BYTE)             NOT NULL,   
  AGMT_SUB_NO     VARCHAr2(4 BYTE)              NOT NULL,   
  NEED_REPAY_INT  NUMBER(22,2),   
  CURR_PERIOD     NUMBER(4)                     NOT NULL   
);   
CREATE TABLE EDW_INT_2   
(   
  AGMT_NO         VARCHAr2(40 BYTE)             NOT NULL,   
  AGMT_SUB_NO     VARCHAr2(4 BYTE)              NOT NULL,   
  NEED_REPAY_INT  NUMBER(22,2),   
  CURR_PERIOD     NUMBER(4)                     NOT NULL   
);2.插入测试数据
INSERT INTO EDW_INT  
  (AGMT_NO, AGMT_SUB_NO, NEED_REPAY_INT, CURR_PERIOD)  
VALUES  
  ('20003874', '2104', 3126.5, 7);  
INSERT INTO EDW_INT  
  (AGMT_NO, AGMT_SUB_NO, NEED_REPAY_INT, CURR_PERIOD)  
VALUES  
  ('20003874', '2104', 3290.76, 6);  
INSERT INTO EDW_INT  
  (AGMT_NO, AGMT_SUB_NO, NEED_REPAY_INT, CURR_PERIOD)  
VALUES  
  ('20003874', '2104', 3454.06, 5);  
INSERT INTO EDW_INT  
  (AGMT_NO, AGMT_SUB_NO, NEED_REPAY_INT, CURR_PERIOD)  
VALUES  
  ('20003874', '2104', 3616.41, 4);  
INSERT INTO EDW_INT  
  (AGMT_NO, AGMT_SUB_NO, NEED_REPAY_INT, CURR_PERIOD)  
VALUES  
  ('20017143', '2104', 2350.86, 0);  
INSERT INTO EDW_INT  
  (AGMT_NO, AGMT_SUB_NO, NEED_REPAY_INT, CURR_PERIOD)  
VALUES  
  ('20017143', '2104', 3566.55, 0);  
INSERT INTO EDW_INT  
  (AGMT_NO, AGMT_SUB_NO, NEED_REPAY_INT, CURR_PERIOD)  
VALUES  
  ('20018273', '2104', 1639.46, 0);  
INSERT INTO EDW_INT  
  (AGMT_NO, AGMT_SUB_NO, NEED_REPAY_INT, CURR_PERIOD)  
VALUES  
  ('20018273', '2104', 2080.49, 0);  
COMMIT;3.insert all-不带条件
insert all  
into edw_int_1(agmt_no,agmt_sub_no,need_repay_int,curr_period)  
values(agmt_no,agmt_sub_no,need_repay_int,curr_period)  
into edw_int_2(agmt_no,agmt_sub_no,curr_period)  
values(agmt_no,'1234',curr_period)  
select agmt_no,agmt_sub_no,need_repay_int,curr_period from edw_int;  
commit;结合该问题具体分析:
1. mybatis 的和dao相关的sql写法如下:



INSERT ALL

INTO FSP_BUSINESS_INTEREST_REPORT
(
ID,
BUSINESS_DAY,
LOAN_NO,
CIF_NO,
CIF_NAME,
LOAN_TYPE,
REPAY_WAY,
TERM_TYPE,
VOUCH_WAY,
CHANNEL_TYPE,
LOAN_BEGIN_DATE,
LOAN_END_DATE,
RATE_BEGIN_DATE,
RATE_END_DATE,
AMT,
RATE_TYPE,
RATE,
RATE_AMT,
PAY_TYPE,
REPORT_OUT_FLAG,
REPORT_OUT_DATE,
REPORT_OUT_AMT,
CREATOR,
CREATE_TIME,
UPDATOR,
UPDATe_TIME
    ) VALUES (
getSeqByName('SEQ_FSP_BUS_INT_REPORT'),
#{businessDay, jdbcType=VARCHAR},
#{loanNo, jdbcType=VARCHAR},
#{cifNo, jdbcType=VARCHAR},
#{cifName, jdbcType=VARCHAR},
#{loanType, jdbcType=VARCHAR},
#{repayWay, jdbcType=VARCHAR},
#{termType, jdbcType=VARCHAR},
#{vouchWay, jdbcType=VARCHAR},
#{channelType, jdbcType=VARCHAR},
#{loanBeginDate, jdbcType=DATE},
#{loanEndDate, jdbcType=DATE},
#{rateBeginDate, jdbcType=DATE},
#{rateEndDate, jdbcType=DATE},
#{amt, jdbcType=NUMERIC},
#{rateType, jdbcType=VARCHAR},
#{rate, jdbcType=NUMERIC},
#{rateAmt, jdbcType=NUMERIC},
#{payType, jdbcType=VARCHAR},
#{reportOutFlag, jdbcType=VARCHAR},
#{reportOutDate, jdbcType=DATE},
#{reportOutAmt, jdbcType=NUMERIC},
#{creator, jdbcType=VARCHAR},
#{createTime, jdbcType=DATE},
#{updator, jdbcType=VARCHAR},
#{updateTime, jdbcType=DATE}
    )
    
SELECT 1 FROM DUAL
2.dao中接口如下定义:

void batchSave(@Param("list") List list);
全部回答

我不知道你为什么要怎么做。

很简单的,如果是要数据库备份的话,那一半都是用  mysqldump导出文件  然后再还原到其他数据库。

或者你说的,分离数据库复制。这个方法不常用,但是不是不能用,完全不用什么分离啊这些,直接复制,然后到另一台的数据库文件夹下粘贴,再启动mysql 直接用

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
C#动态生成DataSet,设置列标题的问题
土鳖喜欢吃什么
时尚焦点在哪里啊,我有事要去这个地方
甲乙两人玩石头剪子布游戏,假设双方都是随机
我的C1驾驶证是9月17日领的,副页写着请从201
【我需要你( i need you ) 用马来西亚语 怎
保险可以解决人生哪些问题,6句话解决人生所
这年头、室内养殖养什么赚钱呢?
智学网怎么查年级和班级名次
山师和山工艺那个学校好,有较好的发展前景?
志远口这个地址在什么地方,我要处理点事
赤锁这对cp指哪两个人?
( )是指投保人对过去或现在某一特定事项存
预算指标年终追减收回后怎么做账
曝是多音字吗
推荐资讯
福州那里有卖泡沫箱
昆明北部客运站到海埂路永兴路口怎么坐公交车
、摩托车保养具体那些项目
雷诺太平洋百货专柜地址有知道的么?有点事想
请问肥人怎么穿衣服才好看
部塘在哪里啊,我有事要去这个地方
已知C是线段AB的中点,D是CB上一点,若AD=6,DB=
为什么用uc浏览器下载的软件安装不了呢?……
我上午在苏州化工医院体检的,中午结果出来,
女友这几天乳头变大了,阴蒂和阴唇也红肿是怎
小红袍龙虾会馆怎么样
农工商超市NO.0250地址在什么地方,想过去办
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?