zoukankan      html  css  js  c++  java
  • 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 t
          where 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;
        }
    
        @Autowired
        public void setMySqlSession(SqlSession mySqlSession) {
            this.mySqlSession = mySqlSession;
        }
    
    
        @Override
        protected String getNamespace() {
            return NAMESPACE;
        }
    
    
        @Override
        public 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>!!!

    一个下午的小成果,给自己一朵小红花❀奖励~

  • 相关阅读:
    The user specified as a definer (”@’%') does not exist解决方法
    mongodb下载地址
    镜像系统,超好用
    部署mysql后,无法设置用户远程登陆(%只所有用户,不可以,只能给指定的ip?)
    Libcap的简介及安装
    GCC命令基础
    gcc安装(centos)
    React Native 踩坑
    webpack 和 babel
    React 开发笔记
  • 原文地址:https://www.cnblogs.com/winkey4986/p/2865048.html
Copyright © 2011-2022 走看看