mybatis 多个dao重名,根据namespace解析

  在mybatis通过执行sql语句的方式是,用getSqlSession().xxx(param,..)方法来调用,

    其中第一个参数就是dao mapper.xml文件的命名空间.id

 

 1 package com.xxx.cms.activity.dao.impl;
 2 
 3 public class ActivityDaoImpl extends BaseDao implements ActivityDao {
 4     //获得class名, 即 ActivityDaoImpl 
 5     public String getSimpleNameSpace() {
 6         return this.getClass().getSimpleName();
 7     }
 8 
 9     //获得class全文件名, 包名.class名
10    // 即com.xxx.cms.activity.dao.impl.ActivityDaoImpl 
11     public String getNameSpace() {
12         return this.getClass().getName();
13     }
14 
15     // sql调用
16     int id = (int) (Integer) getSqlSession().selectOne(getNameSpace() + ".getActivityComingId");
17 
18 }

 

1 //直接以class名为命名空间
2 <mapper namespace="ActivityDaoImpl">
3 
4 
5 <!-- 以class全路径为命名空间,这样可以避免两个class文件名相同的问题 -->
6 <mapper namespace="com.teshehui.cms.activity.dao.impl.ActivityDaoImpl">

 

posted @ 2015-05-09 16:02  xunux  阅读(2960)  评论(0编辑  收藏  举报