原本的项目是使用mysql数据库的,今天要修改成Oracle11g
百度了半天都是使用.properties文件的形式的配置,很多还是使用maven
而我的项目是eclipse下采用自己建lib文件夹添加jar包然后加入build path的形式,配置上全部采用xml没有使用properties文件。
这就很尴尬了,找不到合适的教程改造。
遂自行动手试验直接在Spring的xml配置文件里修改的形式
步骤如下:
1、build path里将mysql的jdbc删除,然后移除lib里的mysql jdbc驱动
2、lib里加入c3p0.jar和jdbc6.jar,并右键add to buildpath
3、修改Spring配置文件,原配置文件采用Spring自带的DriverManagerDataSource,代码如下:
<!-- 1. 数据源 : DriverManagerDataSource -->
<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/SSMtest" />
<property name="username" value="root" />
<property name="password" value="123456" />
</bean>
现修改为c3p0配置的数据源:
<!-- 1. 使用c3p0配置的Oracle数据源 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="oracle.jdbc.driver.OracleDriver" />
<property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:ORCL" />
<property name="user" value="用户名" />
<property name="password" value="口令" />
<!--初始化时获取三个连接,取值应在minPoolSize与maxPoolSize之间。-->
<property name="initialPoolSize" value="3"/>
<!--最大空闲时间,30秒内未使用则连接被丢弃。若为0则永不丢弃。-->
<property name="maxIdleTime" value="30"/>
<!--连接池中保留的最大连接数。-->
<property name="maxPoolSize" value="6"/>
<!--连接池中保留的最小连接数 -->
<property name="minPoolSize" value="2"/>
</bean>
其中,jdbcurl的格式为:jdbc:oracle:thin:@ip地址:端口:数据库名
注:mapper.xml文件中的sql语句也要修改,原mysql是写加分号的sql语句,若使用oracle则不需要加分号,若加分号,会报ORA001错误:Open quote is expected for attribute "value" associated with an element type "property".
修改完毕之后重新编译即可运行。