如何在Ibatis中使用HSQLdb

时间:2012-01-18 11:54:11

标签: java unit-testing hsqldb ibatis in-memory-database

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

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

对于使用强大依赖于数据库的代码的代码进行单元测试,还有什么方法可以更好地进行单元测试。

1 个答案:

答案 0 :(得分: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);