資料庫存儲list
發布時間: 2024-03-21 08:01:39
兩種方法
1、python讀取文件後,解析value中的id,存儲到list中,再讀另一個文件時,去list里判斷是否已存在
2、python讀取另一個文件後,解析values中的id,腳本直接去資料庫判斷是否存在
其實資料庫可以設計id未主鍵,這樣你直接insert即可,出錯的話,資料庫會容錯
Ⅱ C# 中如何將sql資料庫中讀取到的 一整行數據 存到數組,最好是list中,請寫詳細答案
輸入框一般都是textbox,命名用戶名輸入框為textbox1密碼為textbox2
select
*
from
【表名】
where
[欄位名]='"
+
textbox1.text
+
"'
一般都是用sqldatareader
dr
去讀取,如果讀取到了說明這個用戶名存在,那麼在判斷密碼欄位dr["pwd"].tostring()
==textbox2.text.tostring()是否等於textbox2輸入的。如果沒有讀到,那說明這個用戶名不存在,可以直接彈出錯誤提示。
這是大概思路,如果想要全部源碼可以向我直接提問,說明問題附帶說明要源碼就可以。
Ⅲ mybatis獲取一個list怎麼添加到資料庫里
思路為採用Oracle中insert語句的高級用法:INSERT ALL ,批量插入數據:
INSERT ALL舉例:
1、建測試表
CREATETABLEEDW_INT
(
AGMT_NOVARCHAR2(40BYTE)NOTNULL,
AGMT_SUB_NOVARCHAR2(4BYTE)NOTNULL,
NEED_REPAY_INTNUMBER(22,2),
CURR_PERIODNUMBER(4)NOTNULL
);
CREATETABLEEDW_INT_1
(
AGMT_NOVARCHAR2(40BYTE)NOTNULL,
AGMT_SUB_NOVARCHAR2(4BYTE)NOTNULL,
NEED_REPAY_INTNUMBER(22,2),
CURR_PERIODNUMBER(4)NOTNULL
);
CREATETABLEEDW_INT_2
(
AGMT_NOVARCHAR2(40BYTE)NOTNULL,
AGMT_SUB_NOVARCHAR2(4BYTE)NOTNULL,
NEED_REPAY_INTNUMBER(22,2),
CURR_PERIODNUMBER(4)NOTNULL
);
2.插入測試數據
INSERTINTOEDW_INT
(AGMT_NO,AGMT_SUB_NO,NEED_REPAY_INT,CURR_PERIOD)
VALUES
('20003874','2104',3126.5,7);
INSERTINTOEDW_INT
(AGMT_NO,AGMT_SUB_NO,NEED_REPAY_INT,CURR_PERIOD)
VALUES
('20003874','2104',3290.76,6);
INSERTINTOEDW_INT
(AGMT_NO,AGMT_SUB_NO,NEED_REPAY_INT,CURR_PERIOD)
VALUES
('20003874','2104',3454.06,5);
INSERTINTOEDW_INT
(AGMT_NO,AGMT_SUB_NO,NEED_REPAY_INT,CURR_PERIOD)
VALUES
('20003874','2104',3616.41,4);
INSERTINTOEDW_INT
(AGMT_NO,AGMT_SUB_NO,NEED_REPAY_INT,CURR_PERIOD)
VALUES
('20017143','2104',2350.86,0);
INSERTINTOEDW_INT
(AGMT_NO,AGMT_SUB_NO,NEED_REPAY_INT,CURR_PERIOD)
VALUES
('20017143','2104',3566.55,0);
INSERTINTOEDW_INT
(AGMT_NO,AGMT_SUB_NO,NEED_REPAY_INT,CURR_PERIOD)
VALUES
('20018273','2104',1639.46,0);
INSERTINTOEDW_INT
(AGMT_NO,AGMT_SUB_NO,NEED_REPAY_INT,CURR_PERIOD)
VALUES
('20018273','2104',2080.49,0);
COMMIT;
3.insert all-不帶條件
insertall
intoedw_int_1(agmt_no,agmt_sub_no,need_repay_int,curr_period)
values(agmt_no,agmt_sub_no,need_repay_int,curr_period)
intoedw_int_2(agmt_no,agmt_sub_no,curr_period)
values(agmt_no,'1234',curr_period)
selectagmt_no,agmt_sub_no,need_repay_int,curr_periodfromedw_int;
commit;
結合該問題具體分析:
mybatis 的和相關的sql寫法如下:
<insertid="batchSave">
INSERTALL
<foreachcollection="list"item="item">
INTOFSP_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>
SELECT1FROMDUAL
</insert>
2.中介面如下定義:
java">voidbatchSave(@Param("list")List<BusinessInterestReport>list);
熱點內容