您的位置:首页 > 数据库

Ibatis/mybatis中,查询SQL参数和返回都是Map的情况

2015-02-02 17:49 639 查看
在实际开发中,经常需要SQL查询的参数为map,而返回的结果集也是map的情况,不用去写繁琐的ResultMap.

其DAO接口代码如下:

public List  getMySuperCardSpentDetail(Map map);


其DAO实现接口如下:

@Override
public List getMySuperCardSpentDetail(Map map) {
List list = getSqlMapClientTemplate().queryForList("***_user_super_card.selectMySuperCardSpentDetail", map);
return list;
}


其对应的SQLmap的XML如下:

<select id="selectMySuperCardSpentDetail" parameterClass="map" resultClass="java.util.HashMap" remapResults="true">
<!--

-->
select su.id,su.card_no,su.face_value,su.upc,su.valid_date,p.order_id,p.order_no,p.paid_amount,p.paid_type,p.paid_time
from **_user_super_card su
join **_order_payment p on (su.card_no = p.paid_card_no )

<dynamic prepend="WHERE">

<isNotNull prepend="and" property="id">
su.id = #id:Long#
</isNotNull>

</dynamic>
</select>
其中,parameterClass使用接口,resultClass使用具体的实现。

在jsp页面,可以直接这个返回的list

<c:forEach items="${detailList}" var="detail">
<ul class="uci_list_cont" id="credits1">
<li class="w240"><fl:fomatdate str="${detail.paid_time }" pattern="yyyy-MM-dd"/> </li>
<li class="w110">下单</li>
<li class="w240"><a href="/cec/activecard/cecOrder/orderDetail?orderNo=${detail.order_no }">${detail.order_no }</a></li>
<li class="w180">${detail.paid_amount }</li>
<li class="w100">${entity.leftValue }</li>
</ul>
</c:forEach>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: