1.SQL Mapper内容
<?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="payhistrans">
<resultMap id="BaseResultMap" type="map">
<result column="f_merchantid" jdbcType="VARCHAR" property="fMerchantid"/>
<result column="f_manufacturerid" jdbcType="VARCHAR" property="fManufacturerid"/>
<result column="f_transtype" jdbcType="INTEGER" property="fTranstype"/>
<result column="f_third" jdbcType="VARCHAR" property="fThird"/>
<result column="f_paytype" jdbcType="CHAR" property="fPaytype"/>
<result column="f_ordertype" jdbcType="CHAR" property="fOrdertype"/>
<result column="f_flag" jdbcType="CHAR" property="fFlag"/>
<result column="f_orderid" jdbcType="VARCHAR" property="fOrderid"/>
<result column="f_refund_orderid" jdbcType="VARCHAR" property="fRefundOrderid"/>
<result column="f_thirdptls" jdbcType="VARCHAR" property="fThirdptls"/>
<result column="f_refund_thirdptls" jdbcType="VARCHAR" property="fRefundThirdptls"/>
<result column="f_transdate" jdbcType="CHAR" property="fTransdate"/>
<result column="f_transamt" jdbcType="INTEGER" property="fTransamt"/>
<result column="f_regdate" jdbcType="CHAR" property="fRegdate"/>
<result column="f_regtime" jdbcType="CHAR" property="fRegtime"/>
</resultMap>
<sql id="Base_Column_List">
f_merchantid,f_manufacturerid,f_transtype,f_third,f_paytype,f_ordertype,f_flag,f_orderid,
f_refund_orderid,f_thirdptls,f_refund_thirdptls,f_transdate,f_transamt,f_regdate,f_regtime
</sql>
<insert id="insertBatch" parameterType="map">
insert into pay_his_trans
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="hisList != null">
f_merchantid, f_manufacturerid, f_transtype,
f_third, f_paytype, f_ordertype,
f_flag, f_orderid, f_refund_orderid,
f_thirdptls, f_refund_thirdptls, f_transdate,
f_transamt, f_regdate, f_regtime
</if>
</trim>
values
<foreach collection="hisList" item="item" index="index" separator=",">
<trim prefix=" (" suffix=")" suffixOverrides=",">
<if test="item != null">
#{item.fMerchantid,jdbcType=VARCHAR}, #{item.fManufacturerid,jdbcType=VARCHAR},
#{item.fTranstype,jdbcType=INTEGER},
#{item.fThird,jdbcType=VARCHAR}, #{item.fPaytype,jdbcType=CHAR}, #{item.fOrdertype,jdbcType=CHAR},
#{item.fFlag,jdbcType=CHAR}, #{item.fOrderid,jdbcType=VARCHAR}, #{item.fRefundOrderid,jdbcType=VARCHAR},
#{item.fThirdptls,jdbcType=VARCHAR}, #{item.fRefundThirdptls,jdbcType=VARCHAR}, #{item.fTransdate,jdbcType=CHAR},
#{item.fTransamt,jdbcType=INTEGER}, #{item.fRegdate,jdbcType=CHAR}, #{item.fRegtime,jdbcType=CHAR}
</if>
</trim>
</foreach>
</insert>
</mapper>
2.Java调用代码
private Object saveData(Map<String, Object> tradeParam) {
List dataList = null;
Map<String, Object> paramMap = new HashMap<String, Object>();// 数据库操作输入
Map<String, Object> resultMap = new HashMap<String, Object>();// 返回给客户端结果
resultMap.put("returnCode", "0000");
try {
paramMap.put("fMerchantid", tradeParam.get("merchantId"));
int number = Integer.parseInt((String) tradeParam.get("number"));
dataList = (List) tradeParam.get("dataList");
if (dataList.size() == 0) {// 记录为0条,记录一条pay_outsave_hisstatus
return resultMap;
}
List insertList = new ArrayList();
for (Object item : dataList) {
Map listMap = (Map) item;
paramMap.put("fManufacturerid", listMap.get("manufacturerId"));
paramMap.put("fTranstype", listMap.get("transType"));
paramMap.put("fThird", listMap.get("thirdId"));
paramMap.put("fPaytype", listMap.get("payType"));
paramMap.put("fOrdertype", listMap.get("orderType"));
paramMap.put("fFlag", listMap.get("flag"));
paramMap.put("fOrderid", listMap.get("orderId"));
paramMap.put("fRefundOrderid", listMap.get("refund_orderId"));
paramMap.put("fThirdptls", listMap.get("thirdPtls"));
paramMap.put("fRefundThirdptls", listMap.get("refund_thirdPtls"));
paramMap.put("fTransdate", tradeParam.get("transDate"));
paramMap.put("fTransamt", listMap.get("transAmt"));
paramMap.put("fRegdate", DateUtils.getDateTime("yyyyMMdd"));
paramMap.put("fRegtime", DateUtils.getDateTime("HHmmss"));
logger.info("paramMap= " + paramMap);
insertList.add(paramMap);
}
Map<String, Object> insertMap = new HashMap<String, Object>();
insertMap.put("hisList", insertList);
int ret = firstService.update("payhistrans", "insertBatch", insertMap);
if (ret < 0) {
resultMap.put("returnCode", "1007");
return resultMap;
}
} catch (Exception e) {// 防止联机交易后异常传导到上层事务
resultMap.put("returnCode", "9999");
}
return resultMap;
}