Mybatis传入参数map,读取map原创
生活随笔
收集整理的這篇文章主要介紹了
Mybatis传入参数map,读取map原创
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
如果想輸出多張表中的內容或者不是一張表里面的內容(聚集函數),而且又不想resultMap成一個實體,那就用map吧(研究了一下午的成果...)
<select id="getUaMapByTimestamp" parameterType="hashmap" resultType="hashmap"> select tName=t.type_Name, countName=count(t.type_Name)from Fault f, device_info d ,device_type twhere f.handle_status = 1 and f.repair = 0 and f.device_id = d.device_id and t.type_id = d.type_id<if test="statDateFrom != null">and f.happen_time <![CDATA[>=]]> #{statDateFrom}</if><if test="statDateTo != null">and f.happen_time <![CDATA[<=]]> #{statDateTo}</if>group by t.type_Name </select>這樣就能是搜索結果變成hashmap類型(別問我題目是map,怎么在講hashmap...)
java代碼:
@Repository public class FaultDao extends AbstractBasicDaoImpl<Fault, Long> implements IFaultDao {private static final String NAMESPACE = "com.device.entity.Fault";protected SqlSession mySqlSession;public SqlSession getMySqlSession() {return mySqlSession;}@Autowiredpublic void setMySqlSession(SqlSession mySqlSession) {this.mySqlSession = mySqlSession;}@Overrideprotected String getNamespace() {return NAMESPACE;}@Overridepublic List<HashMap> findStatisticDevicetype(Map testMap) {List<HashMap> aa = new ArrayList<HashMap>();aa = mySqlSession.selectList("getUaMapByTimestamp",testMap);return aa;}}關鍵部分是聲明和注入本類自己的sqlSession實例,由于本類繼承AbstractBasicDaoImpl<Fault, Long>,而AbstractBasicDaoImpl<Fault, Long>又繼承相關類,如果不自己聲明sqlSession實例的話,默認會調用父類是sqlSession實例,而由于類之間的繼承關系,最后selectList的類型會變成List<Fault>!!!
一個下午的小成果,給自己一朵小紅花?獎勵~
?
?
轉載于:https://www.cnblogs.com/winkey4986/archive/2013/01/17/2865048.html
總結
以上是生活随笔為你收集整理的Mybatis传入参数map,读取map原创的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《Effective C#》读书笔记——
- 下一篇: 一块网卡设置多个IP地址