com.ibatis.sql地图.client.SqlMapException 异常
com.ibatis.sqlmap.client.SqlMapException 错误
自己在编写一个简单的select例子的时候碰到的问题,找了十多分钟还没找到原因。
到后来认真看了下报错信息,终于找到了问题原因了。
就在【There is already a statement named selectAllAccount1 in this SqlMap.】 中。
原来在sqlMap.xml文件中有两个相同的select标签的ID相同了。
Exception in thread "main" java.lang.ExceptionInInitializerError at com.tangjian.test.SelectDemo01.main(SelectDemo01.java:16) Caused by: 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: java.lang.RuntimeException: Error parsing XPath '/sqlMap/select'. Cause: com.ibatis.sqlmap.client.SqlMapException: There is already a statement named selectAllAccount1 in this SqlMap. at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:49) at com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient(SqlMapClientBuilder.java:63) at com.tangjian.ibatis.AccountDAO.<clinit>(AccountDAO.java:22) ... 1 more Caused by: 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: java.lang.RuntimeException: Error parsing XPath '/sqlMap/select'. Cause: com.ibatis.sqlmap.client.SqlMapException: There is already a statement named selectAllAccount1 in this SqlMap. at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:53) at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser.parse(SqlMapConfigParser.java:46) ... 3 more Caused by: java.lang.RuntimeException: Error parsing XPath '/sqlMapConfig/sqlMap'. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMap/select'. Cause: com.ibatis.sqlmap.client.SqlMapException: There is already a statement named selectAllAccount1 in this SqlMap. at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:123) at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:84) at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:102) at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:72) at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:51) ... 4 more Caused by: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: java.lang.RuntimeException: Error parsing XPath '/sqlMap/select'. Cause: com.ibatis.sqlmap.client.SqlMapException: There is already a statement named selectAllAccount1 in this SqlMap. at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:53) at com.ibatis.sqlmap.engine.builder.xml.SqlMapParser.parse(SqlMapParser.java:40) at com.ibatis.sqlmap.engine.builder.xml.SqlMapConfigParser$10.process(SqlMapConfigParser.java:270) at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:121) ... 8 more Caused by: java.lang.RuntimeException: Error parsing XPath '/sqlMap/select'. Cause: com.ibatis.sqlmap.client.SqlMapException: There is already a statement named selectAllAccount1 in this SqlMap. at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:123) at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:84) at com.ibatis.common.xml.NodeletParser.process(NodeletParser.java:102) at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:72) at com.ibatis.common.xml.NodeletParser.parse(NodeletParser.java:51) ... 11 more Caused by: com.ibatis.sqlmap.client.SqlMapException: There is already a statement named selectAllAccount1 in this SqlMap. at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.addMappedStatement(SqlMapExecutorDelegate.java:207) at com.ibatis.sqlmap.engine.config.MappedStatementConfig.<init>(MappedStatementConfig.java:114) at com.ibatis.sqlmap.engine.config.SqlMapConfiguration.newMappedStatementConfig(SqlMapConfiguration.java:159) at com.ibatis.sqlmap.engine.builder.xml.SqlStatementParser.parseGeneralStatement(SqlStatementParser.java:73) at com.ibatis.sqlmap.engine.builder.xml.SqlMapParser$21.process(SqlMapParser.java:361) at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:121) ... 15 more
自己在编写一个简单的select例子的时候碰到的问题,找了十多分钟还没找到原因。
到后来认真看了下报错信息,终于找到了问题原因了。
就在【There is already a statement named selectAllAccount1 in this SqlMap.】 中。
原来在sqlMap.xml文件中有两个相同的select标签的ID相同了。