场景: 本身系统连接的数据库是 mysql ,但现在需要从oracle中读取数据,故产生此需求
首先,引入pom依赖,加载oracle 驱动
<dependency>
<groupId>com.oracle.ojdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>19.3.0.0</version>
</dependency>
然后在application.xml 中进行配置
<第一个是正常的 mysql的连接,我新加的oracle 连接就复制了一下上面的,改了下bean的id>
<bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource">
<property name="driver" value="${db.driver}"/>
<property name="driverUrl" value="${db.url}"/>
<property name="user" value="${db.username}" />
<property name="password" value="${db.password}" />
<property name="alias" value="${db.alias}" />
<property name="prototypeCount" value="10" />
<property name="maximumConnectionCount" value="${db.maxConn}" />
<property name="minimumConnectionCount" value="${db.minConn}" />
<property name="simultaneousBuildThrottle" value="${db.simultaneous}" />
<property name="houseKeepingTestSql" value="select 1+1" />
</bean>
<这是oracle的数据连接>
<bean id="dataSourceO" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${dbo.driver}"/>
<property name="url" value="${dbo.url}"/>
<property name="username" value="${dbo.username}"/>
<property name="password" value="${dbo.password}"/>
<property name="initialSize" value="10"/>
<property name="minIdle" value="10"/>
<property name="maxActive" value="20"/>
</bean>
< 这是dao层引用的位置>
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="namedJdbcOracle" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate">
<constructor-arg ref="dataSourceO"/>
</bean>
代码中引用方式
@Resource(name = "namedJdbcOracle")
private NamedParameterJdbcTemplate NamedJdbc;
配置文件中配置数据库连接方式
dbo.url = jdbc:oracle:thin:@(description=(address=(protocol=tcp)(port=1521)(host=17.16.17.25))(connect_data=(service_name=orcl)))
dbo.username=123
dbo.password =123
dbo.driver=oracle.jdbc.driver.OracleDriver