JDBC鏈接數據庫的步驟

時(shí)間:2022-06-27 07:26:33 數據庫操作系統 我要投稿
  • 相關(guān)推薦

JDBC鏈接數據庫的步驟

  此文列出了JDBC鏈接數據庫的4個(gè)步驟,供大家參考下:

  JDBC:JAVA訪(fǎng)問(wèn)數據庫的解決方案。

  幾個(gè)步驟:1.加載驅動(dòng)類(lèi);

  2.與數據庫建立連接;

  3.執行SQL語(yǔ)句

  4.處理結果集

  5.關(guān)閉連接

  1. 第一步:加載驅動(dòng)類(lèi):

  需要注意:不同的數據庫,參照的字符串不同,ORACLE的連接為:Class.forName("oracle.jdbc.driver.OracleDriver"); 這一步執行后,程序可能會(huì )拋出: ClassNotFoundException,原因一般有:

  a. 數據庫的驅動(dòng)jar包沒(méi)有導入到環(huán)境變量中

  b. Class.forName中的字符串拼寫(xiě)不正確

  2. 第二步:通過(guò)DriverManager與數據庫建立連接:

  其靜態(tài)方法getConnection用來(lái)獲取連接。通常需要傳入三個(gè)參數

  參數1:數據庫的地址及端口(不同數據庫字符串內容不相同)

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

  參數2:數據庫的用戶(hù)名

  參數3:數據庫對應用戶(hù)名的密碼

  Connection conn = DriverManager.getConnect

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

  3.第三步:java.sql.Statement 執行SQL語(yǔ)句并獲取結果

  Statement state = conn.createStatement();

  String sql="/*這里面是SQL語(yǔ)句*/ ";

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

  ResultSet executeQuery(String sql)

  * 該方法專(zhuān)門(mén)用來(lái)執行DQL語(yǔ)句,返回的ResultSet表示查詢(xún)出來(lái)的結果集

  int executeUpdate(String sql)

  * 該方法專(zhuān)門(mén)用來(lái)執行DML語(yǔ)句,返回的數字表示執行該語(yǔ)句影響了表中多少條數據

  boolean execute(String sql)

  * 該方法理論上什么語(yǔ)句都可以執行了,但是由于DQL,DML都有專(zhuān)門(mén)的方法執行了,所以該方法通常用來(lái)執行DDL語(yǔ)句

  ResultSet rs = state.executeQuery(sql);

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

  { 輸出語(yǔ)句 }

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

  boolean next()

  *該方法有兩個(gè)作用,首先當我們查詢(xún)出結果集后rs的指針指向第一條數據之上,所以我們需要先調用一次next()使其指針移動(dòng)到第一條數據上并表示該條數據。

  第二個(gè)作用是看返回值,若指針向下移動(dòng)后,發(fā)現沒(méi)有數據了,會(huì )返回false,若有則返回true,所以我們只有在該方法返回true的情況下才獲取當前記錄的各個(gè)字段對應的值RS還提供了若干個(gè)getXXX(String fieldName)方法:

  *這一系列方法是用來(lái)獲取RS表示的當前記錄中給定字段對應的值。不同的字段由于類(lèi)型不同需要調用相對應的方法

  第4步:關(guān)閉連接,寫(xiě)在finally塊中

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

  將數據庫的連接放在一個(gè)工具類(lèi)里面,達到重用的效果

  由于訪(fǎng)問(wèn)數據庫是經(jīng)常要用到的操作,所以在工程中,通常編寫(xiě)一個(gè)訪(fǎng)問(wèn)數據庫的工具類(lèi),此后所有訪(fǎng)問(wèn)數據庫的操作,都從工具類(lèi)中獲取連接,實(shí)現工具類(lèi)的兩種方式:

  1.直接把數據配置寫(xiě)在工具類(lèi)DBUtil中

  2.把數據庫配置寫(xiě)在一個(gè)properties屬性文件里,工具類(lèi)讀入屬性文件,逐行獲取數據庫參數(一般使用第二種)

  若使用第一種方法,在后期需要修改所使用的數據庫或者說(shuō)修改host、端口、數據庫連接名、密碼等等時(shí),就需要修改源代碼里面的數據,不便于系統的維護,故一般使用第二種方法數據庫連接工具類(lèi)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"));//最大等待時(shí)間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鏈接數據庫的步驟】相關(guān)文章:

數據庫系統的設計步驟12-20

有關(guān)安裝Linux與Oracle數據庫步驟精講06-28

磁力鏈接怎么用05-24

為什么EXCEL表格中的郵件鏈接取消了,而網(wǎng)站鏈接沒(méi)有取消?07-03

適當的保留導出鏈接對網(wǎng)站的益處07-14

網(wǎng)站優(yōu)化之死鏈接處理07-14

怎么檢查網(wǎng)站的死鏈接呢?07-14

網(wǎng)站怎樣做友情鏈接07-14

word文檔做成超鏈接的方法07-02

信息技術(shù)教案:超鏈接08-26

99久久精品免费看国产一区二区三区|baoyu135国产精品t|40分钟97精品国产最大网站|久久综合丝袜日本网|欧美videosdesexo肥婆