问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-27 09:20

我来回答

3个回答

懂视网 时间:2022-04-10 10:45

  1. 在数据库中填加新表
  2. 在总配置文件中加入子mapper地址
  3. <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
    <mapper namespace="com.nuanshui.heatedloan.credit.dal.mapper.CreditChangeLogMapper" >//注意此处一定要与添加的类一致
     <resultMap id="creditChangeLogInfo" type="com.nuanshui.heatedloan.credit.model.CreditChangeLogInfo" >//注此处model也要与定义处一致
     <id column="id" property="id" typeHandler="idHandler" />
     <result column="user_id" property="userId" />
     <result column="order_id" property="orderId"/>
     <result column="type" property="type"/>
     <result column="original_credit" property="originalCredit"/>
     <result column="new_credit" property="newCredit"/>
     <result column="log" property="log"/>
     <result column="created_at" property="createdAt" jdbcType="TIMESTAMP" />
     <result column="updated_at" property="updatedAt" jdbcType="TIMESTAMP" />
     </resultMap>
    
     <insert id="batchInsertCreditChangeLogList" parameterType="java.util.List">
     <selectKey resultType="long" keyProperty="idRaw" >
      SELECT LAST_INSERT_ID() AS id
     </selectKey>
     insert into credit_change_log (user_id, order_id, type, original_credit, new_credit, log, created_at, updated_at) values
     <foreach collection="list" item="item" index="index" separator=",">
      (#{item.userId},#{item.orderId},#{item.type},#{item.originalCredit},#{item.newCredit},
      #{item.log},now(),now())
     </foreach>
     </insert>
    
    </mapper>
    

      

mybatis加数据库表

标签:origin   red   tty   dha   model   sep   creat   1.0   3.0   

热心网友 时间:2022-04-10 07:53

思路为采用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;

结合该问题具体分析:

mybatis 的和相关的sql写法如下:


<insert id="batchSave">
INSERT ALL
<foreach collection="list" item="item">
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}
    )
    </foreach>
SELECT 1 FROM DUAL
</insert>

2.中接口如下定义:

void batchSave(@Param("list") List<BusinessInterestReport> list);

热心网友 时间:2022-04-10 09:11

遍历list,一个一个存入数据库就是了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
电视般有哪些尺寸 电视有哪些尺寸 寓意生命力顽强的男孩名字 美国产生金融危机了,铁矿石回降价吗? 铁矿石什么情况下会跌 从生物学的角度看,随地吐痰的主要危害是什么 随地吐痰会给我们带来什么样的危害? 痰是怎样形成的,随地吐痰有哪些危害 得力挂钟为什么不走了 人民大学、外交学院、中国政法、北京大学、复旦、华东政法等大学法学... mybatis orderbyclause怎么用? mybatis orderbyclause怎么用 苹果平板电脑可以解锁吗 请问BFF是什么意思啊,闺密老发这个给我。 戒指上BFF是什么意思 有BFF什么什么意思 BFF中文是什么 bff是什么的缩写? 女朋友给我的昵称是BFF是什么意思? BFF是什么意思!!! bff是闺蜜的意思吗 BFF是什麽意思? bff指的是什么缩写? BFF是什么意思? bff什么意思 BFF是什么意思 bff是什么意思怎么说? 企业伤亡事故的分类 事故分类等级划分及上报标准是什么 企业职工伤亡事故分类标准 mybatis使用sqlsessiontemplate怎么实现事务处理 求《MyBatis从入门到精通》全文免费下载百度网盘资源,谢谢~ 使用mybatis 执行sql删除数据的存储过程xml里应该怎么写 hibernate和mybatis能放在一起用吗 用mybatis sql语句都在配置文件里写吗 Mybatis现在流行吗,感觉用Hibernate的好像很多哦 spring-data-jpa和mybatis可以整合在一起使用有什么优缺点 孕妇能吃的最佳水果有哪些 孕妇能吃的有哪些水果 孕妇多吃哪几种水果好 怀孕的女生吃什么水果好 小米10拍录像为什么不清晰 胃溃疡吃什么药? 胃溃疡能吃什么? 胃溃疡应该吃什么药? 宝宝大便呈绿色水样,怎么回事? 宝宝大便稀,绿色水状, 宝宝拉绿色水样大便怎么办 上海到哈尔滨多远 宝宝拉肚子,大便现在呈绿色水状