閱讀屋>資料庫作業系統> JDBC連結資料庫的步驟

JDBC連結資料庫的步驟

JDBC連結資料庫的步驟

  此文列出了JDBC連結資料庫的4個步驟,供大家參考下:

  JDBC:JAVA訪問資料庫的解決方案。

  幾個步驟:1.載入驅動類;

  2.與資料庫建立連線;

  3.執行SQL語句

  4.處理結果集

  5.關閉連線

  1. 第一步:載入驅動類:

  需要注意:不同的資料庫,參照的字串不同,ORACLE的連線為:Class.forName("oracle.jdbc.driver.OracleDriver"); 這一步執行後,程式可能會丟擲: ClassNotFoundException,原因一般有:

  a. 資料庫的驅動jar包沒有匯入到環境變數中

  b. Class.forName中的字串拼寫不正確

  2. 第二步:透過DriverManager與資料庫建立連線:

  其靜態方法getConnection用來獲取連線。通常需要傳入三個引數

  引數1:資料庫的地址及埠(不同資料庫字串內容不相同)

  oracle的地址:jdbc:oracle:thin:@host:port:sid

  引數2:資料庫的使用者名稱

  引數3:資料庫對應使用者名稱的密碼

  Connection conn = DriverManager.getConnect

  ("jdbc:oracle:thin:@host:port:oracle","user", "psd");

  3.第三步:java.sql.Statement 執行SQL語句並獲取結果

  Statement state = conn.createStatement();

  String sql="/*這裡面是SQL語句*/ ";

  Statement針對不同的SQL語句提供了不同的執行方法:

  ResultSet executeQuery(String sql)

  * 該方法專門用來執行DQL語句,返回的ResultSet表示查詢出來的結果集

  int executeUpdate(String sql)

  * 該方法專門用來執行DML語句,返回的數字表示執行該語句影響了表中多少條資料

  boolean execute(String sql)

  * 該方法理論上什麼語句都可以執行了,但是由於DQL,DML都有專門的方法執行了,所以該方法通常用來執行DDL語句

  ResultSet rs = state.executeQuery(sql);

  輸出查詢結果:while(rs.next())

  { 輸出語句 }

  ResultSet提供用於遍歷結果集的方法:

  boolean next()

  *該方法有兩個作用,首先當我們查詢出結果集後rs的指標指向第一條資料之上,所以我們需要先呼叫一次next()使其指標移動到第一條資料上並表示該條資料。

  第二個作用是看返回值,若指標向下移動後,發現沒有資料了,會返回false,若有則返回true,所以我們只有在該方法返回true的情況下才獲取當前記錄的各個欄位對應的值RS還提供了若干個getXXX(String fieldName)方法:

  *這一系列方法是用來獲取RS表示的當前記錄中給定欄位對應的值。不同的欄位由於型別不同需要呼叫相對應的方法

  第4步:關閉連線,寫在finally塊中

  finally{if(conn!=null){try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}

  將資料庫的連線放在一個工具類裡面,達到重用的效果

  由於訪問資料庫是經常要用到的`操作,所以在工程中,通常編寫一個訪問資料庫的工具類,此後所有訪問資料庫的操作,都從工具類中獲取連線,實現工具類的兩種方式:

  1.直接把資料配置寫在工具類DBUtil中

  2.把資料庫配置寫在一個properties屬性檔案裡,工具類讀入屬性檔案,逐行獲取資料庫引數(一般使用第二種)

  若使用第一種方法,在後期需要修改所使用的資料庫或者說修改host、埠、資料庫連線名、密碼等等時,就需要修改原始碼裡面的資料,不便於系統的維護,故一般使用第二種方法資料庫連線工具類DBUtil.java以及連線池的主要步驟:

  Properties prop = new Properties();prop.load(new FileInputStream("config.properties"));//根據配置項初始化String driverName = prop.getProperty("driverName");String url = prop.getProperty("url");String username = prop.getProperty("username");String password = prop.getProperty("password");//最大連線數int maxActive = Integer.parseInt(prop.getProperty("maxActive"));//最大等待時間int maxWait = Integer.parseInt(prop.getProperty("maxWait"));//初始化連線池cp = new BasicDataSource();//相當與是Class.forName()中的內容cp.setDriverClassName(driverName);cp.setUrl(url);cp.setUsername(username);cp.setPassword(password);cp.setMaxActive(maxActive);cp.setMaxWait(maxWait);public static Connection getConnection() throws Exception{return cp.getConnection();}

  以上內容是針對JDBC連結資料庫的步驟做講解,希望能夠幫助到大家!

【JDBC連結資料庫的步驟】相關文章: