将MySQL转换为H2
我正在从事一个遵循以下代码的项目: 下载代码的链接: 现在我真正想要的,不是MySQL,而是一个运行HSQL或H2的嵌入式数据库。所以我一直在做我自己的项目,试图实现这样一个系统 在教程代码中,他创建了一个数据库。然后h2+hibernates为他创建了未来的表——因此,如果我可以在不需要sql模式或任何设置的情况下完成这项工作,那就是创建。 因此,我已经摆脱了mySql maven依赖项,正在努力替换persistence-beans.xml 现在我必须用相关的h2或hsql版本替换我的数据源。 这就是我得到的将MySQL转换为H2,mysql,spring,hibernate,h2,Mysql,Spring,Hibernate,H2,我正在从事一个遵循以下代码的项目: 下载代码的链接: 现在我真正想要的,不是MySQL,而是一个运行HSQL或H2的嵌入式数据库。所以我一直在做我自己的项目,试图实现这样一个系统 在教程代码中,他创建了一个数据库。然后h2+hibernates为他创建了未来的表——因此,如果我可以在不需要sql模式或任何设置的情况下完成这项工作,那就是创建。 因此,我已经摆脱了mySql maven依赖项,正在努力替换persistence-beans.xml 现在我必须用相关的h2或hsql版本替换我的数据源
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name ="driverClassName" value = "org.h2.driver"/>
<property name = "url" value ="jdbc:h2:mem:test;DB_CLOSE_DELAY=-1" />
<property name = "username" value = "sa" />
<property name = "password" value = "" />
</bean>
// I also tried this (but again, having a schema with his code is tricky I’ve found
<jdbc:embedded-database id="dataSource" type="H2">
<jdbc:script location="classpath:schema.sql"/>
<jdbc:script location="classpath:test-data.sql"/>
</jdbc:embedded-database>
其余的测试都在这个链接中:您是否尝试过jdbc:h2:mem:test;MODE=MySQL;这也不起作用@SparkOnIt wolud如果你展示你的测试类会很有帮助,因为mysql中的许多功能与H2不同。你改变了hibernate方言吗?那是什么?在哪里@马丁弗雷
@ContextConfiguration(locations = "/persistence-beans.xml")
public class HibernateConfigurationTest extends AbstractJUnit4SpringContextTests {
@Autowired
private SessionFactory sessionFactory;
@Test
public void testHibernateConfiguration() {
// Spring IOC container instantiated and prepared sessionFactory
assertNotNull (sessionFactory);
}
}