程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> JDBC鏈接數據庫的幾個步調

JDBC鏈接數據庫的幾個步調

編輯:關於JAVA

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鏈接數據庫的步調做講授,願望可以或許贊助到年夜家!
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved