spring+SpringMVC+mybits中dao層和其實現層以及對應的mapper


之前用Spring+SpringMVC+mybits在DAO層寫完接口接口之后再去寫dao的實現層daoimpl(通過繼承SqlSessionDaoSupport來進行實現)

public class DicDaoImpl extends SqlSessionDaoSupport implements DicDao {
    
    @Resource
    @Override
    public void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory) {
        // TODO Auto-generated method stub
        super.setSqlSessionFactory(sqlSessionFactory);
    }
    @Override
    public Map<String, List> loadDic() {
        // TODO Auto-generated method stub
        
        Map<String,List> maps=new HashMap<String,List>();
        SqlSession session = getSqlSession();
        String Statement="com.alumniAssociationmanager.mapper.DicMapper.queryTYZDB";
        List<Dic_tyzdb> diclist=session.selectList(Statement);
        
        List<Dic_tyzdb> xb = new ArrayList<Dic_tyzdb>();//01性別
        List<Dic_tyzdb> jzfs = new ArrayList<Dic_tyzdb>();//02捐贈方式
        List<Dic_tyzdb> jzzt = new ArrayList<Dic_tyzdb>();//03捐贈狀態
        List<Dic_tyzdb> hdlx = new ArrayList<Dic_tyzdb>();//04活動類型
        List<Dic_tyzdb> jzxmzt = new ArrayList<Dic_tyzdb>();//05捐贈項目狀態
        List<Dic_tyzdb> xyhdzt = new ArrayList<Dic_tyzdb>();//06活動狀態
        List<Dic_tyzdb> jyxxzt = new ArrayList<Dic_tyzdb>();//07就業信息狀態
        for(Dic_tyzdb d:diclist){
            
            if(d.getZdlxdm().equals("01")){
                xb.add(d);
            }
            if(d.getZdlxdm().equals("02")){
                jzfs.add(d);
            }
            if(d.getZdlxdm().equals("03")){
                jzzt.add(d);
            }
            if(d.getZdlxdm().equals("04")){
                hdlx.add(d);
            }
            if(d.getZdlxdm().equals("05")){
                jzxmzt.add(d);
            }
            if(d.getZdlxdm().equals("06")){
                xyhdzt.add(d);
            }
            if(d.getZdlxdm().equals("07")){
                jyxxzt.add(d);
            }
        }
        maps.put("xb", xb);
        maps.put("jzfs",jzfs);
        maps.put("jzzt", jzzt);
        maps.put("hdlx", hdlx);
        maps.put("jzxmzt",jzxmzt);
        maps.put("xyhdzt", xyhdzt);
        maps.put("jyxxzt", jyxxzt);
        return maps;
    }
}

現在需要不寫dao的實現層,而是dao層接口和與其相關的Mapper文件直接對應

那么需要滿足幾個條件,要不回造成很多錯誤

1.dao層接口和mapper接口中的方法需要相同,即方法名,傳遞的參數,返回的值的類型都要相同

2.mapper文件的命名空間需要和dao層接口的相同,例如:

dao層的接口為:

package com.lh.wsjd.dao;

import java.util.List;
import java.util.Map;

public interface WSJD_RCXCDao {
   List getWSJD_RCXC(Map map);
   int updateWSJD_RCXC(Map map);
}

 那么mapper文件對應的為

<mapper namespace="com.lh.wsjd.dao.WSJD_RCXCDao">
	<select id="getWSJD_RCXC" parameterType="Map" resultType="Map">
       </select>
      <update id="updateWSJD_RCXC" parameterType="Map">
     </update>
</mapper>

 這里dao層接口的全限定名和mapper文件的命名空間相同 ,即dao層接口需要和mapper文件在同一個包下。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM