単体テストでメモリ内データベースを使用してデータをクエリしたいのですが、私のプロジェクトは、HSQLDB の助けを借りて模倣したい実際のデータベースをクエリするための Ibatis (注釈付き) です。
HSQLDB で iBatis を構成する方法を教えてください。
また、機能がデータベースに強く依存しているコードを使用した単体テストに適した方法はありますか。
単体テストでメモリ内データベースを使用してデータをクエリしたいのですが、私のプロジェクトは、HSQLDB の助けを借りて模倣したい実際のデータベースをクエリするための Ibatis (注釈付き) です。
HSQLDB で iBatis を構成する方法を教えてください。
また、機能がデータベースに強く依存しているコードを使用した単体テストに適した方法はありますか。
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>
さらに、次のような configuration.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);