Mybatis中通过HaseMap封装参数作为查询条件

来源:互联网 发布:java ee api下载 编辑:程序博客网 时间:2024/06/05 02:15


HaseMap封装参数

Map<String, Object> paramMap = new HashMap<String, Object>();List<Long> aprrovalStatus = new ArrayList<Long>();aprrovalStatus.add(AprrovalStatus.COMMITED.getKey());aprrovalStatus.add(AprrovalStatus.SYNCHRONIZED.getKey());paramMap.put("aprrovalStatus", aprrovalStatus);paramMap.put("parentFundsId", detailId);

查询

Long commitedAmt = LONG_ZERO;Long CommitedTotalAmt = reconFundsDetailTmpService.queryCommitedTotalAmt(paramMap); // 大于0入金多,小于0出金多



Mybatis中的sql,

<select id="queryCommitedTotalAmt" parameterType="java.util.HashMap" resultType="java.lang.Long">SELECTSUM(FUNDS_AMT_IN)-SUM(FUNDS_AMT_OUT)FROMT_CBS_RECON_FUNDS_DETAIL_TMPWHEREPARENT_FUNDS_ID = #{parentFundsId}AND APRROVAL_STATUS in<foreach item="item" index="index" collection="aprrovalStatus" open="(" separator="," close=")">#{item}</foreach></select>

if (CommitedTotalAmt != null) {commitedAmt = CommitedTotalAmt;}


//顺便提一下, 对于小数的处理, 用的是BigDecimal, 在页面上对小数的控制

BigDecimal bigAmt = new BigDecimal(String.valueOf(amt));// 拆分金额






0 0
原创粉丝点击