使用mybatis鏈接oracle數據庫出現賬號密碼錯誤解決

使用mybatis鏈接oracle數據庫步驟

最近oracle老師佈置下來了作業,要求使用傳統的java代碼鏈接oracle數據庫做一個小程序,因爲我已經很熟練的掌握了ssm框架的開發,以前用的是mysql,現在就嘗試嘗試oracle來練練手。

  • 問題一 oracle 的jar包 maven不支持

由於Oracle授權問題,Maven3不提供Oracle JDBC driver,爲了在Maven項目中應用Oracle JDBC driver,必須手動添加到本地倉庫
oracle 的坑來了 不能直接方便的導入依賴必須,手動添加,沒事咱們一步步解決
首先下載oracle 的jar包 我的雲服務器裝的是oracle 12c 12.1.0.2.0版本 因此我選擇ojdbc7版本的jar包
查看 oracle 版本的 select 語句如下
select * from v$version;
然後想辦法搞到ojdbc的jar包 如同這樣
在這裏插入圖片描述
然後執行maven的這條命令 把此jar包發佈到 本地倉庫

mvn install:install-file -Dfile=/e:/ojdbc7.jar -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=12.1.0.2.0 -Dpackaging=jar

刪除線表示自己需要更改的,這句話的意思是把你的本地jar包按照指定的groupId,artifactId,Dversion
發佈到本地倉庫
然後在maven 引用
在這裏插入圖片描述

問題二 oracle 的鏈接驅動和mysql的也有區別

配置數據庫連接數據
在這裏插入圖片描述
在spring中配置數據源

<!-- 2.配置數據源  主要是sqlsessionfactory裏要使用  設置數據源   com.alibaba.druid.pool.DruidDataSource -->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
		<property name="driverClassName" value="${jdbc.driver}"></property>
		<property name="url" value="${jdbc.url}"></property>
		<property name="username" value="${jdbc.username}"></property>
		<property name="password" value="${jdbc.password}"></property>
		<property name="maxActive" value="10" />
	</bean>

這是需要的鏈接信息 我把它放到一個.perproties文件中以便修改,實際開發也是這樣寫的,但坑就是在這裏出現的
隨後就開始一些小的測試用例,發現一直報這個錯誤
在這裏插入圖片描述
耿直的我一直調試賬號密碼,網上說賬號被鎖定之類的問題都沒有解決。
我的情況是這樣,我的sqldeveloper可以登錄,用老師的原生jdbc的代碼也可以查詢運行的出來,就是到mybatis這裏死活說我賬號密碼錯誤,崩潰中,我甚至懷疑mybatis是不是支持oracle。
經過5個小時的測試和排查,我突然意識到,是不是字符編碼問題,我的.perproties是GBK編碼,是不是有問題
然後就改編碼爲utf-8,然而還是不行。。。

問題的解決

在這裏插入圖片描述

運行成功 請和上邊的黑色代碼塊對比,這裏沒有用“”${XXX}“”來動態的獲取數據庫連接信息,而是寫死這樣的,極不推薦這樣做(代碼修改擴展的時候十分的頭疼),但是在這裏就莫名其妙的沒有異常,並且運行成功。。。心累。
oracle。你這麼坑,你讓我怎麼愛上你。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章