如何在当前使用 HSQLDB 的 Spring 和 Hibernate 后台使用 MySQL
Posted
技术标签:
【中文标题】如何在当前使用 HSQLDB 的 Spring 和 Hibernate 后台使用 MySQL【英文标题】:How to use MySQL in Spring and Hibernate background which currently uses HSQLDB 【发布时间】:2016-07-13 13:38:35 【问题描述】:我有一个使用 Spring & Hibernate 创建的项目。本项目使用的数据库是HSQLDB。 (http://hsqldb.org/) 其实我之前没用过那个数据库,也不知道。这是项目的 GitHub 存储库。 (https://github.com/chanakaDe/spring-hibernate-20120924)。在pom.xml
文件中,你可以看到hsql版本和一切。
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>2.2.8</version>
<scope>runtime</scope>
</dependency>
有两件事我需要知道。我正在使用这个项目为会计系统创建一个 REST API。这种项目可以使用 HSQLDB 吗?性能和功能?
还有如何在这个项目中使用 mysql?有什么方法可以删除 HSQL 并使用 MYSQL 代替?如果需要将数据库更改为MYSQL,是否需要进行大量更改?
【问题讨论】:
这个问题的教程和答案随处可见。也许这会帮助***.com/questions/3020912/…。 【参考方案1】:在你的 pom.xml 添加这个:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>$mysql-connector-java.version</version>
</dependency>
然后在你的 applicationContext.xml 上用这些替换那些 hsqldb 的东西:
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan" value="The package the contains your entities here e.g. com.example.model" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
</property>
<property name="jpaProperties">
<props>
<prop key="hibernate.hbm2ddl.auto">validate</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
</props>
</property>
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/your-database-here" />
<property name="username" value="db-username" />
<property name="password" value="db-password" />
</bean>
【讨论】:
以上是关于如何在当前使用 HSQLDB 的 Spring 和 Hibernate 后台使用 MySQL的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Spring Boot 测试中连接到内存中的 HSQLDB 以进行查询
使用 HSQLDB 作为 Spring、Hibernate 的可移植数据库
在 HSQLDB 上使用 Spring DBUnit 进行休眠和 Spring 数据 - 由于外键约束而无法删除
使用 JavaConfig 使用 Spring 应用程序的 HSQLDB 新手