Mysql 基于数据库选择实现类

Mysql 基于数据库选择实现类,mysql,oracle,dao,Mysql,Oracle,Dao,我有一个在MySQL上运行的应用程序,现在我想测试我的应用程序。在oracledb上。此应用程序使用spring、hibernate和jpa。我想知道如何在spring.xml等中更改配置的相同代码库中实现这一点 我还为oracle创建了一组实现类,但不知道如何告诉我的Dao使用oracle实现而不是MySQL。您使用它来选择DB。在DataSource和JPA entityManagerFactory中更改您的定义文件的配置时使用相同的代码库 数据源 <bean id="dataSour

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


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

您使用它来选择DB。在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>

//你的时髦。
org.hibernate.dialen.oracle10galent
4.
真的
真的
更新

用于选择数据库。在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>

//你的时髦。
org.hibernate.dialen.oracle10galent
4.
真的
真的
更新

如果您使用Hibernate,这将为您解决,不必稍微调整配置文件,指定要使用哪个JDBC驱动程序。如果您使用Hibernate,这将为您解决,不必稍微调整配置文件,指定要使用哪个JDBC驱动程序。