我有一个表 mgr_employee,有 2 列 managerName、teamEmployee。
虽然我在 sql 中进行了排序,但我在 java 中得到了未排序的 resultMap。
如何获得排序后的地图?为什么 iBatis 会混淆 resultMap?
<resultMap id="s_filter_defaults_ResultMap" class="java.util.HashMap">
<result property="key" column="managerName"/>
<result property="value" column="count"/>
</resultMap>
<select id="mCount" parameterClass="java.util.HashMap" resultMap="mcount_ResultMap">
<![CDATA[
select managerName, count(teamEmployee) AS count
from mgr_employee
group by managerName
order by managerName;
]]>
</select>
调用上述sql的Java代码:
Map<String,Long> mCountMap = getSqlMapClientTemplate().queryForMap("mCount", "", "key", "value");
由于 sql 中的“order by”子句,mCountMap 未按预期排序。
有任何意见/建议,如何对 resultMap 进行排序?
我认为您的问题可能与使用的 Java 类型有关。需要查询列表,不适用于 Map,因为 Java HashMap(我想这就是查询将返回的内容)不支持排序。
请参阅SqlMapDaoTemplate#queryForList() http://ibatis.apache.org/docs/java/user/com/ibatis/dao/client/template/SqlMapDaoTemplate.html应该返回您需要的内容的方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)