关于ibatis 查询少量字段 返回map 的method

最近项目中老是遇到需要查询一张表的几个字段, 但是通用的commonColumns 为了方便确实写的全部字段,考虑到性能和自己取数据时候的方便,于是想到了之前用hibernate的时候,那个jdbcTemplate 就可以随心所欲的取数据 当然map 类型也在其中;然后就在ibatis sqlmap里面想了下,用java.util.HashMap做查询结果封装类,用map做参数,这样就可以想查几个字段就查几个字段,同时也不干扰其他查询,也不会添加若干个 commonColumns了

下面就是sql的 详细:

<select id="countSummary" parameterClass="map" resultClass="java.util.HashMap">
     <![CDATA[ select id,name from task where deal_status is not null ]]>
<slect>
而对于在dao层得做法也是很简单的,只需要用 SqlMapClientTemplate.queryForList("sql"); 就可以查询出一个List<Map<String,String>> 的数据了
当然取数据就是直接重list 里面拿到map 然后根据键值对取值 (这里要值得注意的是, 数据库返还回来的map里面 键值是字段名称的大写)比如name 就变为NAME


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章