最近遇到个项目要求用特定框架写一套接口,要用Oracle数据库,但是我们原来的框架是MySQL数据库,这就需要我修改程序中的配置,本文不说数据库内数据类型的修改以及SQL语句的修改,只谈配置的修改,相信很多朋友都遇到过这个坑并且没太多经验,这里我分享一下。下面几点不分步骤,全部做完即可。为了大家粘代码方便这里不截图,只复制代码。
1.修改jdbc.properties
这是原来MySQL的配置
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/java_web_framework?characterEncoding=utf8
username=root
password=root
现在要修改成
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@ip:端口:sid
username=**
password=**
关于url的写法,这里有三种选择
1。jdbc:oracle:thin:@//<host>:<port>/<service_name> (11g在@后不加//也OK)
2。jdbc:oracle:thin:@<host>:<port>:<SID>
3。jdbc:oracle:thin:@<TNSName>
三种方法分别用了service_name,SID以及TNSName,不知道数据库的SID可以到PLSQL查询select instance_name from V$instance;
一般默认情况下sid与你的数据库的名称是一样的!一般这个文职配置的不对程序会给出数据库连接失败的错误,本人在连接的时候
用到的是SID如果这个错了,程序会报SID not given的错误。
2,修改applicationContext.xml
大多数人都在这里百思不得其解,很多人都不知道,划重点
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
配置dataSource的时候有一条属性
<property name="validationQuery" value="select 1 from dual"/>
validationQuery是用来验证数据库连接的查询语句,这个查询语句必须是至少返回一条数据的SELECT语句。每种数据库
都有各自的验证语句,打架可以对照下表在value处写不同的值,原来MySQL数据库的时候是select 1,如果此处不改,程序会报找不到需要的FROM关键字
![](https://i-blog.csdnimg.cn/blog_migrate/b1e19006e0fba67301e139ef11ffb5e1.png)
备注:如果本地不想安装Oracle数据库,用PLSQL的同学,我推荐你去看cctvyuzhou的博客,里边有一篇专门讲这个问题的文章
本人工作一年后第一次发博客,是在cctvyuzhou的博客的鼓励下开始写博客,所以要感谢一下,以前都是膜拜完了挂标签,所以这篇文章格式上做的不是很好,但是内容上写
的很详细,希望对大家有所帮助,最后大家转的时候麻烦加上转自本人,谢谢