프로그래머의 삶 Programmer's Life/PersistanceSolution

iBATIS 설정 <settings 부분...- 미완성

Oliver's World 2009. 1. 16. 15:00
728x90



    <settings
        cacheModelsEnabled="true"
        enhancementEnabled="true"
        lazyLoadingEnabled="true"
        maxRequests="32"
        maxSessions="15"
        maxTransactions="11"
        useStatementNamespaces="false"
    />

여기서 useStatementNamespaces 에 true 로 할 경우

 <sqlMap resource="SqlMapTest1.xml" />
 <sqlMap resource="SqlMapTest2.xml" />

이렇게 여러개의 xml 파일을 리소스로 불러들일때 각 파일의 <sqlMap namespace="Test1"> 이나 <sqlMap namespace="Test2"> 로 설정을 해야하고 즉..namespace 설정을 하고
쿼리문을 날리기 위한 String id 입력하는곳에~~

즉...

   sqlmapper.queryForList("selectALL");

이런곳 에~

selectALL  이 아니라 Test1.selectALL  이나 Test1.selectALL 으로 하면 된다...
본래 namespace 설정을 안하고 각 resource 파일에 행여나 동일한 이름의 ID가 존재할 경우 아래와 같은 에러가 신나게 뜬다...프로젝트를 혼자 하는것도 아니고..어쩌다가 살다보면 황당하게도 혼자 하게 되더라도....동일한 이름을 사용할 수도 있을 것이다....그럴때 분류를 잘해서 보기 편하고 쉽게 쓰자...ㅡㅡ;
정말 신나게 떴다...ㅡ.ㅡ;......
...어쨋거나..iBATIS 사용할땐... 오타나 조심하자...-_-;;

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 selectALL 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 dao.exampleDAO.<clinit>(exampleDAO.java:19)
 at example.main(example.java:9)
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 selectALL 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 selectALL 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 selectALL 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 selectALL 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 selectALL 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:362)
 at com.ibatis.common.xml.NodeletParser.processNodelet(NodeletParser.java:121)
 ... 15 more
java.lang.NullPointerException
 at dao.exampleDAO.selectAll(exampleDAO.java:29)
 at example.main(example.java:12)
728x90