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鏈接數據庫的步調做講授,願望可以或許贊助到年夜家!