使用H2数据库配置进行Spring测试

前端之家收集整理的这篇文章主要介绍了使用H2数据库配置进行Spring测试前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在生产环境中使用Oracle,我想使用H2进行测试。我可以打字
<jdbc:embedded-database id="dataSource">
  <jdbc:script location="classpath:schema.sql"/>
  <jdbc:script location="classpath:test-data.sql"/>
</jdbc:embedded-database>

所以我的表和脚本是自动创建的。但是我无法设置此数据库的URL值。 (对于H2-Oracle兼容性,我应该添加; MODE = Oracle到url部分)

有没有办法实现这个目标?

或者只是一个相反的解决方案;

<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="org.h2.Driver"/>
    <property name="url" value="jdbc:h2:file:h2\db"/>
    <property name="username" value="sa"/>
    <property name="password" value=""/>        
</bean>

在这个时候,我可以编辑URL部分,但是如何加载默认的测试脚本(创建和数据sqls)到这个数据源?

解决方法

这种技术解决了这个问题。
<bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="${jdbc.driverClassName}" />
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
</bean>

然后添加标签和定义;

<jdbc:initialize-database data-source="dataSource" ignore-failures="DROPS">
    <jdbc:script location="classpath:testdb/schema.sql" />
    <jdbc:script location="classpath:testdb/data.sql" />
</jdbc:initialize-database>
原文链接:https://www.f2er.com/mssql/84519.html

猜你在找的MsSQL相关文章