JAVA使用JDBC連接oracle數(shù)據(jù)庫(kù)的詳細(xì)過(guò)程
首先給出代碼和輸出:
//import java.sql.DriverManager; //import java.sql.SQLException; import java.sql.*; public class DatabaseConnect { public static void main(String[] args) throws Exception { connDatabase(); } public static void connDatabase() { try { Class.forName("oracle.jdbc.OracleDriver"); Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.10.150:1521/orcl11g","xielong","xielong"); System.out.println(conn); Statement s = conn.createStatement(); String sql="select * from xielong"; ResultSet result=s.executeQuery(sql); while(result.next()) { int age = result.getInt("age"); String name = result.getString("name"); System.out.println(name+"今年"+age+"歲了!"); } } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
oracle.jdbc.driver.T4CConnection@2957fcb0
xielong今年18歲了!
dingding今年8歲了!
wangwang今年8歲了!
shitou今年8歲了!
lele今年20歲了!
Process finished with exit code 0
講解下代碼
Class.forName("oracle.jdbc.OracleDriver");這段代碼是用來(lái)加載驅(qū)動(dòng)的。
通過(guò)靜態(tài)類DriverManager的getConnection方法配置連接字符串
DriverManager.getConnection("jdbc:oracle:thin:@192.168.10.150:1521:orcl11g","xielong","xielong");
其中ip為oracle數(shù)據(jù)庫(kù)地址,1521為默認(rèn)的數(shù)據(jù)庫(kù)連接端口,orcl11g為數(shù)據(jù)庫(kù)連接實(shí)例名
之后的為用戶名和密碼。
這個(gè)字符串可以自己寫,如果不會(huì)寫也可以通過(guò)idea工具配置數(shù)據(jù)庫(kù)連接。之后將連接字符串粘到這里即可。
這里先介紹怎樣加載jdbc驅(qū)動(dòng)。
注意:如果配置了數(shù)據(jù)庫(kù)連接但沒(méi)有加載數(shù)據(jù)庫(kù)驅(qū)動(dòng),在運(yùn)行程序時(shí)依然會(huì)在這段代碼
Class.forName("oracle.jdbc.OracleDriver");報(bào)加載不到數(shù)據(jù)庫(kù)驅(qū)動(dòng)的報(bào)錯(cuò),如下:
java.lang.ClassNotFoundException: oracle.jdbc.orace.OracleDriver at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at DatabaseConnect.connDatabase(DatabaseConnect.java:14) at DatabaseConnect.main(DatabaseConnect.java:9) Process finished with exit code 0
所以首先要確保加載驅(qū)動(dòng),流程如下:
選擇idea左上角的File->Project Structure
根據(jù)oracle數(shù)據(jù)庫(kù)的版本選擇jdbc驅(qū)動(dòng),之后選擇ok
加載成功運(yùn)行以上代碼,查看輸出。
通過(guò)idea配置oracle數(shù)據(jù)庫(kù)連接(即使在配置了數(shù)據(jù)庫(kù)連接之后,需要使用代碼連接數(shù)據(jù)庫(kù),也要加載jdbc驅(qū)動(dòng))
在idea右側(cè)的邊框欄有databases。點(diǎn)擊選擇databases,之后選擇new新建數(shù)據(jù)庫(kù)連接。選擇data source,數(shù)據(jù)庫(kù)版本oracle。
sid填寫數(shù)據(jù)庫(kù)實(shí)例名,用戶名密碼填寫數(shù)據(jù)庫(kù)連接用戶的數(shù)據(jù)庫(kù)名和密碼。
其中url是數(shù)據(jù)庫(kù)連接字符串,可以在連接數(shù)據(jù)庫(kù)時(shí)作為數(shù)據(jù)庫(kù)連接字符串使用。
DriverManager.getConnection("jdbc:oracle:thin:@192.168.10.150:1521:orcl11g","xielong","xielong");
填寫好之后,在最后的Test Connection中可以進(jìn)行測(cè)試連接。
右鍵點(diǎn)擊數(shù)據(jù)庫(kù),其中有query console
到這里怎樣在java代碼中加載oracle的JDBC驅(qū)動(dòng),以及如何在idea中配置oracle數(shù)據(jù)庫(kù)連接以及進(jìn)行測(cè)試查詢。小伙伴們學(xué)會(huì)了嗎~
總結(jié)
到此這篇關(guān)于JAVA使用JDBC連接oracle數(shù)據(jù)庫(kù)的文章就介紹到這了,更多相關(guān)JAVA用JDBC連接oracle內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java開發(fā)Oracle數(shù)據(jù)庫(kù)連接JDBC Thin Driver 的三種方法
- Java使用Jdbc連接Oracle執(zhí)行簡(jiǎn)單查詢操作示例
- Java使用JDBC或MyBatis框架向Oracle中插入XMLType數(shù)據(jù)
- Java使用JDBC連接Oracle_MSSQL實(shí)例代碼
- Java與Oracle實(shí)現(xiàn)事務(wù)(JDBC事務(wù))實(shí)例詳解
- java使用jdbc鏈接Oracle示例類分享
- java基于JDBC連接Oracle 11g Release2實(shí)例分析
- Java如果通過(guò)jdbc操作連接oracle數(shù)據(jù)庫(kù)
- Java使用JDBC實(shí)現(xiàn)Oracle用戶認(rèn)證的方法詳解
相關(guān)文章
kafka消費(fèi)者kafka-console-consumer接收不到數(shù)據(jù)的解決
這篇文章主要介紹了kafka消費(fèi)者kafka-console-consumer接收不到數(shù)據(jù)的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03Lombok @Slf4j log對(duì)象沒(méi)有info等方法不可用問(wèn)題及解決
本文主要介紹了如何解決Spring Boot項(xiàng)目中的日志依賴沖突問(wèn)題,以及如何使用Lombok和SLF4J進(jìn)行日志記錄,Lombok通過(guò)生成Logger對(duì)象簡(jiǎn)化了日志記錄,而SLF4J提供了一個(gè)統(tǒng)一的日志接口,允許開發(fā)者在運(yùn)行時(shí)選擇不同的日志實(shí)現(xiàn)2024-12-12詳解IDEA中Debug的使用和進(jìn)制轉(zhuǎn)換問(wèn)題
這篇文章主要介紹了IDEA中Debug的使用和進(jìn)制轉(zhuǎn)換,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11Springmvc異常映射2種實(shí)現(xiàn)方法
這篇文章主要介紹了Springmvc異常映射2種實(shí)現(xiàn)方法以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。,需要的朋友可以參考下2020-05-05JAVA TIMER簡(jiǎn)單用法學(xué)習(xí)
Timer類是用來(lái)執(zhí)行任務(wù)的類,它接受一個(gè)TimerTask做參數(shù)2013-07-07解決rocketmq-client日志保存路徑的問(wèn)題
這篇文章主要介紹了解決rocketmq-client日志保存路徑的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07