2012-01-18 50 views
1

我想在内存数据库中使用查询单元测试中的数据,我的项目是Ibatis(带注释),用于查询我希望在HSQLDB帮助下模拟的实际数据库。如何在Ibatis中使用HSQLdb

请帮助我如何使用HSQLDB配置iBatis。

还有什么办法可以更好地进行单元测试,这些代码在功能上强烈依赖于数据库。

回答

1

,您可根据iBatis的sqlMappings.xml配置文件是这样的:

<sql-map-config> 

    <properties resource="configuration.properties" /> 

    <!--The datasource for you application is configured here: --> 
    <datasource name = "hsql" 
     factory-class="com.ibatis.db.sqlmap.datasource.SimpleDataSourceFactory" 
     default="true"> 
    <property name="JDBC.Driver" value=""/> 
    <property name="JDBC.ConnectionURL" value=""/> 
    <property name="JDBC.Username" value=""/> 
    <property name="JDBC.Password" value=""/> 
    </datasource> 

    <!--Declare the SQL Maps to be loaded for this application. 
     Be sure it's in your classpath. --> 
    <sql-map resource="maps/beanMappings.xml"/> 


</sql-map-config> 

加上congifuration.properties文件是这样的:

JDBC.Driver=org.hsqldb.jdbcDriver 
JDBC.ConnectionURL=jdbc:hsqldb:hsql://localhost/myDb 
JDBC.Username=sa 
JDBC.Password= 

,然后用它是这样的:

String resource = "maps/SqlMapConfig.xml"; 
Reader reader = Resources.getResourceAsReader(resource); 
SqlMap sqlMap = XmlSqlMapBuilder.buildSqlMap(reader); 
+0

我的项目没有使用XML配置它使用了一个prop文件,我可以给dbname,user,pass n host – Ankur 2012-01-18 13:43:29

+1

我已经更新了我的答案以指定.properties配置文件。 – 2012-01-18 13:55:49