ibatis的配置文件中有一个命名空间的属性,如<sqlMap namespace="common">,默认情况下这个功能是关闭的。
要打开它需要在SqlMapConfig.xml文件中进行配置:
<!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings
useStatementNamespaces="true"
/>
<sqlMap resource="com/taobao/jingwei/webconsole/biz/dao/model/JwUser.xml" />
<sqlMap resource="com/taobao/jingwei/webconsole/biz/dao/model/JwPermission.xml" />
<sqlMap resource="com/taobao/jingwei/webconsole/biz/dao/model/JwResource.xml" />
</sqlMapConfig>
参考 http://java123.blog.51cto.com/397472/90438
useStatementNamespaces
是否使用Statement命名空间。
这里的命名空间指的是映射文件中,sqlMap节的namespace属性,如在上例中针对t_use
表的映射文件sqlMap节点: <sqlMap namespace="User"> 这里,指定了此sqlMap节点下定义的操作均属于"User"命名空间。 在useStatementNamespaces="true"的情况下,Statement调用需追加命名空间,如:sqlMap.update("User.updateUser",user);
否则直接通过Statement名称调用即可,如: sqlMap.update("updateUser",user); 但请注意此时需要保证所有映射文件中,Statement定义无重名。