Hibernate将数据库更改从oracle更改为mysql

时间:2017-03-20 05:40:06

标签: mysql database spring oracle hibernate

我在项目中使用SpringHibernate。我的数据库已从Oracle 10g更改为MySQL

您能否告诉我在Hibernate配置中需要进行哪些更改?

我的Java代码也需要进行任何更改。

1 个答案:

答案 0 :(得分:0)

如果您正在使用项目的hibernate.cfg.xml来定义数据库属性,那么您需要将其更改为MySQL的以下值: -

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration SYSTEM 
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
    <session-factory>
        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/{db.name}</property>
        <property name="hibernate.connection.username">{db.name}</property>
        <property name="hibernate.connection.password">{db.password}</property>

    </session-factory>
</hibernate-configuration>

另外,您需要在pom.xml中包含mysql-connector jar,例如

  <!--Mysql-Connector-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.36</version>
        </dependency>

如果您没有使用hibernate.cfg.xml,而是在Spring sessionFactory中使用一些ApplicationContext.xml bean。然后你需要将它改为: -

<bean id="sessionFactory"
          class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>
        <property name="annotatedClasses">

        </property>
        <property name="hibernateProperties">
            <props>
                <!-- As of now not using hibernate.cfg.xml -->
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                <prop key="hibernate.validator.apply_to_ddl">false</prop>
                <prop key="hibernate.validator.autoregister_listeners">false</prop>
                <prop key="show_sql">true</prop>
                <prop key="format_sql">true</prop>
            </props>
        </property>
    </bean>

<bean id="dataSource"
    class="org.apache.tomcat.dbcp.dbcp.BasicDataSource">
      <property name="driverClassName" value="${jdbc.driverClassName}" />
      <property name="url" value="${jdbc.url}" />
      <property name="username" value="${jdbc.user}" />
      <property name="password" value="${jdbc.pass}" />
   </bean>

请关注http://www.baeldung.com/hibernate-4-spring以获取有关如何使用spring设置休眠的完整示例。