数据库存储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);
热点内容