选择基于数据库的实现类

时间:2016-09-12 07:44:56

标签: mysql oracle dao

我有在MySQL上运行的应用程序,现在我想测试我的应用程序。在oracle DB上。这个应用程序使用spring,hibernate和jpa。我想知道如何在spring.xml等中配置更改的相同代码库中实现这一点,

此外,我已经为oracle创建了一组实现类,但是不知道如何告诉我的Dao使用oracle实现而不是MySQL。

1 个答案:

答案 0 :(得分:0)

您可以选择数据库。与配置相同的代码库会更改DataSource和JPA entityManagerFactory中的定义文件。

<强>数据源

<bean id="dataSource"
        class="org.springframework.jdbc.datasource.SimpleDriverDataSource">
    <!--    <property name="driverClass" value="com.mysql.jdbc.Driver"></property> -->
        <property name="driverClass" value="oracle.jdbc.driver.OracleDriver"></property>
        <property name="username" value="root"></property>
        <property name="password" value="1234"></property>
        <property name="url" value="jdbc:mariadb://"></property>
    </bean> 

<强>的entityManagerFactory

<bean id="entityManagerFactory"
                    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
                    <property name="jpaVendorAdapter">
                        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
                    </property>
                    <property name="dataSource" ref="dataSource" />
                    <property name="jpaProperties">
                        <props>
                            <!-- <prop key="hibernate.dialect">org.hibernate.dialect.DerbyDialect</prop> 
                                <prop key="hibernate.default_schema">your schema</prop> -->
                   // your chice. 
                            <prop key="hibernate.dialect">org.hibernate.dialect.oracle10gdialect</prop>
                            <!-- <prop key="hibernate.dialect">org.hibernate.dialect.MySQLdialect</prop> -->


                            <prop key="hibernate.connection.pool_size">4</prop>
                            <prop key="hibernate.connection.shutdown">true</prop>
                            <prop key="hibernate.show_sql">true</prop> 
                            <prop key="hibernate.hbm2ddl.auto">update</prop>

                        </props>
                    </property>


                    <property name="packagesToScan" value="your.dto" />

        </bean>