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定义无重名。