java連接Oracle數據庫的操作說明


  在測試中,我們常常需要連接Oracle數據庫來進行查詢對比。下面,我們就來看看,如何使用java代碼來連接數據庫,並且取出我們想要的數值。

  首先,java中如果要連接Oracle數據庫,需要jdbc的jar包。下載地址:https://mvnrepository.com/artifact/ojdbc/ojdbc

  根據使用Oracle的方式,連接所使用的的Url為以下兩種:

  Oracle URL:
  jdbc:oracle:thin:@HostName(or IP address):1521:SID
  jdbc:oracle:thin:@//HostName(or IP address):1521:SERVICENAME
  
  這里的參數thin表示小型驅動,HostName(or IP address):1521這個是指代Oracle數據庫的具體網絡位置。SID/ServiceName這個是指具體鏈接的數據庫SID或者數據庫的服務。
  在真正連接數據庫之前,我們需要先注冊一個驅動。
  
 try {
  Class.forName(
"oracle.jdbc.driver.OracleDriver"); }catch (ClassNotFoundException e) { System.out.println("找不到驅動程序類,驅動加載失敗!");

  這種方式是使用類加載的方式來注冊驅動。

  當然,我們還可以使用新建OracleDriver對象的方式來注冊驅動。

Driver driver = new OracleDriver();
DriverManager.deregisterDriver(driver);

  兩種方式均可以,可以根據實際情況進行選擇。

  接下來,我們就要獲取Oracle數據庫的鏈接。

connect = DriverManager.getConnection("jdbc:oracle:thin:@OracleDataBaseHost:1521:XE", "連接oracle數據庫用戶名", "用戶名密碼");

  如果使用的是driver對象注冊的。可以使用下面的代碼

Properties properties = new Properties();
properties.put("user", "oracle數據庫用戶名");
properties.put("password", "用戶名密碼");
connect = driver.connect("jdbc:oracle:thin:@localhost:1521:XE", properties);

  有了鏈接之后,我們就可以使用這個鏈接,來獲取執行sql語句的對象。

statement = connect.createStatement();

  如果是driver對象的方式

PreparedStatement preState = connect.prepareStatement("select  * from tb1 where name = ?");

  再接下來,就是具體的執行sql的語句

resultSet = statement.executeQuery("select * from tb1");

  如果是PrepareStatement的對象,也是一樣的。

ResultSet rs = preState.executeQuery();

  然后,根據得到的ReslutSet來對結果進行處理。

while (rs.next()){
  int id = rs.getInt("id");
  String name = rs.getString("name");
  String wbsCode = rs.getString("wbscode");
  System.out.println(id+"   "+name+"   "+ wbsCode);  //打印輸出結果集
}

  最后,逐一關閉鏈接的資源。不關閉的話會影響性能、並且占用資源。注意關閉的順序,最后使用的最先關閉 !

try {
  if (rs!=null) rs.close();
  if (statement!=null) statement.close();
  if (connect!=null) connect.close();
} catch (SQLException e) {
   e.printStackTrace();
}

  這樣,整體就完成了從Oracle數據庫連接並讀取數據的操作。

 

  
  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM