基本上我想决定使用 2 个数据库项目中的哪一个来运行。
我有以下 hibernateContext.xml
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:database.properties</value>
</list>
</property>
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.user}" />
<property name="password" value="${jdbc.password}" />
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="packagesToScan" value="com.blog.przem.entity" />
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
和database.properties文件
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/pbdb
jdbc.user=root
jdbc.password=
我想要实现的是将 HSQLDB 添加到我的项目中(用于开发、测试),但对于生产我想要 MySQL DB。我已经看到了一些解决方案:
- 在弹簧配置文件中我可以使用 HSQLDB 进行 junit 测试克隆 mySQL 数据库吗
- 在 Maven 中http://www.manydesigns.com/en/portofino/portofino3/tutorials/using-maven-profiles-and-resource-filtering
- 我应该创建database.properties2文件(带有 HSQL 属性)并添加propertyConfigurer2吗?以及如何让dataSource bean知道要使用哪个propertyConfigurer(我感觉我错过了什么)?
- 也许它应该由maven完成?
- 解决此类问题的专业方法是什么(假设项目最终将使用 MySQL)- 应用程序应始终使用 MySQL,而 HSQLDB 应仅用于运行测试类?