Hello,

I am having issues with creating a sql map. I have set up the application 
according to the developer's guide, and for some reason, it isn't loading the 
sql maps.  I have enclosed the configuration files and the Java file that gets 
the sqlMap. I have isolated the handing out of the SqlMapClient via a 
singleton, and for testing purposes, I used the SqlMapClientImpl so I can get 
at the SqlMapExecutorDelegate to see what SqlMaps are loaded. I wrote a test 
for the singleton and am getting the following stack trace:

com.ibatis.sqlmap.client.SqlMapException: There is no statement named 
getEmergencyInfo in this SqlMap.
        at 
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.getMappedStatement(SqlMapExecutorDelegate.java:288)
        at 
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:552)
        at 
com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:536)
        at 
com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:97)
        at 
com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:69)
        at 
com.ball.persistence.ibatis.dao.IbatisSqlMapManagerTest.testBTestSqlMap(IbatisSqlMapManagerTest.java:38)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at junit.framework.TestCase.runTest(TestCase.java:154)
        at junit.framework.TestCase.runBare(TestCase.java:127)
        at junit.framework.TestResult$1.protect(TestResult.java:106)
        at junit.framework.TestResult.runProtected(TestResult.java:124)
        at junit.framework.TestResult.run(TestResult.java:109)
        at junit.framework.TestCase.run(TestCase.java:118)
        at junit.framework.TestSuite.runTest(TestSuite.java:208)
        at junit.framework.TestSuite.run(TestSuite.java:203)
        at junit.textui.TestRunner.doRun(TestRunner.java:116)
        at 
com.intellij.rt.execution.junit2.IdeaJUnitAgent.doRun(IdeaJUnitAgent.java:57)
        at junit.textui.TestRunner.start(TestRunner.java:172)
        at 
com.intellij.rt.execution.junit.TextTestRunner2.startRunnerWithArgs(TextTestRunner2.java:23)
        at 
com.intellij.rt.execution.junit2.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:97)
        at 
com.intellij.rt.execution.junit2.JUnitStarter.main(JUnitStarter.java:31)

What could be possibly happening? I thought that I set up the files the way the 
Developer's Guide states.


Thanks,

Russ B.

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE sql-map
    PUBLIC "-//iBATIS.com//DTD SQL Map 1.0//EN"
    "http://www.ibatis.com/dtd/sql-map.dtd";>

<!-- Always ensure to use the correct XML header as above! -->

<sql-map namespace="EnergencyContact">

  <statment id="getEmergencyInfo"
                    parameter-class="com.ball.persistence.valueObjects.EmergencyContactValue"
                    result-class="com.ball.persistence.valueObjects.EmergencyContactValue">
    <![CDATA[select
      PEECNM AS EmergencyContactName, 
      PEECAD AS EmergencyContactAddress, 
      PEECCS AS EmergencyContactCityState, 
      PEECPH AS EmergencyContactPhone, 
      PEEDEP AS EmergencyContactRelationship, 
      PEDOC  AS EmergencyContactPhysician, 
      PEDOC# AS EmergencyContactPhysicianPhone
    from #schema.name#.PEPMS
    where PEER = #employee.group# and PEEN = #employee.number#]]>
  </statment>
  
  <statment id="updateEmergencyInfo"
  		    parameter-class="com.ball.persistence.valueObjects.EmergencyContactValue"
                    result-class="com.ball.persistence.valueObjects.EmergencyContactValue">
	<![CDATA[update 
	#schema.name#.PEPMS SET
	<isNotEmpty preappend="," property="EmergencyContactName">
		PEECNM = #EmergencyContactName#
	</isNotEmpty>
	
	<isNotEmpty preappend="," property="">
		PEECAD = #EmergencyContactAddress#
	</isNotEmpty>
	
	<isNotEmpty preappend="," property="EmergencyContactCityState">
		PEECCS = #EmergencyContactCityState#
	</isNotEmpty>
	
	<isNotEmpty preappend="," property="EmergencyContactPhone">
		PEECPH = #EmergencyContactPhone#
	</isNotEmpty>
	
	<isNotEmpty preappend="," property="EmergencyContactRelationship">
		PEEDEP = #EmergencyContactRelationship#
	</isNotEmpty>
	
	<isNotEmpty preappend="," property="EmergencyContactPhysician">
		PEDOC = #EmergencyContactPhysician#
	</isNotEmpty>
	
	<isNotEmpty preappend="," property="EmergencyContactPhysicianPhone">
		PEDOC# = #EmergencyContactPhysicianPhone#
	</isNotEmpty>	
	where PEER = #employee.group# and PEEN = #employee.number#]]>
	]]>
  </statment>

</sql-map>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sql-map-config
    PUBLIC "-//iBATIS.com//DTD SQL Map Config 1.0//EN"
    "file:///opt/hrforyou/hrforyou_server/hrforyou/conf/sql-map-config.dtd">


<!-- Always ensure to use the correct XML header as above! -->

<sql-map-config>

  <sql-map resource="com/ball/persistence/ibatis/maps/EmergencyContact.xml"/>

</sql-map-config>

Attachment: IbatisSqlMapManager.java
Description: IbatisSqlMapManager.java

Reply via email to