Attribute "nameSpace" must be declared for element type "sqlMap".

在学习ibatis的时候遇到的异常

你可能写了多个orm配置文件,每个配置文件里都进行一些CRUD之类的操作,难免会遇到两个或者多个配置文件中的都有一个statement的id命名为 find***,

 

 

 

 

在使用getSqlMapClient().update("findById", id)的时候,findById到底是那个orm里的呢?

测试的过程中会出现异常:

Exception in thread "main" java.lang.RuntimeException: Error occurred.  Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'.  Cause: com.ibatis.common.xml.NodeletException: Error parsing XML.  Cause: org.xml.sax.SAXParseException: Attribute "nameSpace" must be declared for element type "sqlMap".

这就引入了一个命名空间(Namespaces),为了以示区别,就在ibatis的核心配置文件中配置一个节点

 
 

把测试语句改为getSqlMapClient().update("Book.findById", id) 即可。

你可能感兴趣的:(整理)