ibaits数组形式批量入库

Posted guangxiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ibaits数组形式批量入库相关的知识,希望对你有一定的参考价值。

一.xml层

<!--批量入库-->
<insert id="addSecCodeList" parameterClass="java.util.HashMap">
<![CDATA[
BEGIN
]]>
<iterate property="secCodeList">
INSERT
INTO A_TABLE A
(
A.ID,
A.SECURITYNO,
A.BATCHNO,
A.ISDELETE
)
VALUES
(SEQ_SEC.nextval,#secCodeList[]#,#batchNo#,‘0‘);
</iterate>
<![CDATA[
END;
]]>
</insert>

 

 

二.action层

//批量生成
for (int i = 0; i < num; i++) {
sb.append(scu.createSecCode(productNo));
sb.append(",");
System.out.println("i="+i);
}
String securityNo = sb.toString();
securityNo=securityNo.substring(0,securityNo.length() -1);

//ibatis批量入库
Map<String, Object> mapList=new HashMap<String, Object>();
mapList.put("securityNo", securityNo);
mapList.put("batchNo", batchNo);
batchService.addSecCodeList(mapList);

三.serviceImpl层

/**
*批量入库
*/
public String addSecCodeList(Map<String, Object> map){
String securityNo=ConvertUtils.obj2Str(map.get("securityNo"),"");
String [] sn=securityNo.split(",");
map.put("secCodeList", sn);
return batchDao.addSecCodeList(map);
}

 

四.daoImpl层

/**

*批量入库
*/
public String addSecCodeList(Map<String, Object> map){
try {
super.getSqlMapClientTemplate().insert("addSecCodeList", map);
return "true";
} catch (DataAccessException e) {
e.printStackTrace();
return "false";
}
}


















































以上是关于ibaits数组形式批量入库的主要内容,如果未能解决你的问题,请参考以下文章

redis 队列缓存 + mysql 批量入库 + php 离线整合

高并发简单解决方案————redis队列缓存+mysql 批量入库

mysql批量入库问题

java Spring 的JDBCTemplet批量入库数据时如果有一条数据入库不成功,其他的数据还会入库吗

hbase批量入库遇到的坑

hbase批量入库遇到的坑