【问题标题】:How to use HSQLdb with Ibatis如何在 Ibatis 中使用 HSQLdb
【发布时间】:2012-02-13 03:28:40
【问题描述】:

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

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

还有什么方法可以更好地使用在其功能中强烈依赖数据库的代码进行单元测试。

【问题讨论】:

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


    【解决方案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);
    

    【讨论】:

    • 我的项目不使用 xml 进行配置,它使用一个 prop 文件,我可以在其中提供 dbname、用户、传递 n 主机
    猜你喜欢
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    • 2021-10-18
    • 2012-01-02
    • 2010-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多