ibatis用DAOManager来管理DAO类但如果里面如果配置文件比较多,如何确定dao里面调用的是哪个配置文件中的方法啊? public List getLoginUsers(BO_Users bo) {
return queryForList("getLoginUsers", bo);
} public List getAllUsersByOrgid(BO_Org bo) {
return queryForList("getAllUsersByOrgid", bo);
}
     例如上面这段代码中怎么确定“getLoginUsers”这个方法是哪个配置文件里面的啊!
   在线等!

解决方案 »

  1.   

    你的  sqlMapping 中  应该配置  <sqlMap namespace="XXXXXXXXX">然后在调用中queryForList ("XXXXXXXXX.getLoginUsers“,bo)
      

  2.   


    有namespace,但是在这个调用里面却没有,所以我才很郁闷,这个程序也可以正常运行,而且配置文件蛮多!
      

  3.   

    那么 请看一下你的  配置文件中  应该有  useStatementNamespaces="true",默认情况是  是 false
    即不启用命名空间。这时候你的所有sqlmapping中寻找 id 是 getLoginUsers 的StatementName
     所有的  sqlmapping 的 StatementName必须惟一
    所以 你的daoimpl 可以找到 指定的  StatementName。 
      

  4.   

    那么 请看一下你的 配置文件中 应该没有 useStatementNamespaces="true",默认情况是 是 false
    即不启用命名空间。这时候你的所有sqlmapping中寻找 id 是 getLoginUsers 的StatementName
     所有的 sqlmapping 的 StatementName必须惟一
    所以 你的daoimpl 可以找到 指定的 StatementName。 上边少打个  没   字
      

  5.   


    谢谢你,我想的也是这种情况,可是这样一来不是就很不好管理这些sqlmapping中的方法了,至少寻找起来就有难度嘛,这个是别人的一个项目,是不是这样设计有什么好处啊?
      

  6.   

    这个sql-map-config.xml文件中就没有设<settings>选项!
      

  7.   


    没有 settings
    默认情况是 是 false  具体  见我 上面的回复