數據庫的操做是當前系統開發必不可少的開發部分之一,尤爲是在如今的大數據時代,數據庫尤其重要。可是你真的懂得Java與數據庫是怎麼鏈接的麼?java
先給你們一個數據庫鏈接的簡單實例:node
package com.java.dbtest; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class TestConnection implements DBTest{ public void SelectUser(){ //設定數據庫驅動,數據庫鏈接地址、端口、名稱,用戶名,密碼 String driverName="oracle.jdbc.driver.OracleDriver"; String url="jdbc:oracle:thin:@localhost:1521:BJPOWERNODE"; //test爲數據庫名稱,1521爲鏈接數據庫的默認端口 String user="system"; //aa爲用戶名 String password="bjpowernode"; //123爲密碼 PreparedStatement pstmt = null; ResultSet rs = null; //數據庫鏈接對象 Connection conn = null; try { //反射Oracle數據庫驅動程序類 Class.forName(driverName); //獲取數據庫鏈接 conn = DriverManager.getConnection(url, user, password); //輸出數據庫鏈接 System.out.println(conn); //定製sql命令 String sql = "select * from t_user where user_id = ?"; //建立該鏈接下的PreparedStatement對象 pstmt = conn.prepareStatement(sql); //傳遞第一個參數值 root,代替第一個問號 pstmt.setString(1, "root"); //執行查詢語句,將數據保存到ResultSet對象中 rs = pstmt.executeQuery(); //將指針移到下一行,判斷rs中是否有數據 if(rs.next()){ //輸出查詢結果 System.out.println("查詢到名爲【" + rs.getString("user_id") + "】的信息,其密碼爲:" + rs.getString("password")); }else{ //輸出查詢結果 System.out.println("未查詢到用戶名爲【" + rs.getString("user_id") + "】的信息"); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); }finally{ try{ if(rs != null){ rs.close(); } if(pstmt != null){ pstmt.close(); } if(conn != null){ conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } public static void main(String[] args){ new TestConnection().SelectUser(); } }
在main函數中,右鍵,選擇「Run as」=>"Java Application",就會運行該程序段,在Console中,能夠看到運行結果,若是給出一串相似於「oracle.jdbc.driver.T4CConnection@7c242f04」這樣的字符串,就說明你鏈接成功了。運行結果如圖:sql
下面咱們來簡單解剖一下這段程序。數據庫
這段程序是Java鏈接Oracle數據庫的實例,採用jdbc來完成鏈接數據庫的操做,因此須要引入ojdbc14.jar。在操做前,首先得先獲得數據庫驅動類的對象,經過驅動對象拿到數據庫鏈接對象。其中Class.forName(driverName)就是應用類反射機制,加載驅動程序的。DriverManager 類是 JDBC 的管理層,做用於用戶和驅動程序之間。它跟蹤可用的驅動程序,並在數據庫和相應驅動程序之間創建鏈接。通常只須要在類中直接使用方法DriverManager.getConnection,便可創建與數據庫的鏈接oracle
PreparedStatement 接口繼承Statement,是用來執行數據庫操做的類。PreparedStatement在屢次調用時的效率要比Statement高不少,因此不少人都主張以PreparedStatement代替Statement。在接下來的博文中,會詳細介紹一下這點《深刻 理解 Statement 和 PreparedStatement》。PreparedStatement能夠看作.net中的Command的類。函數
ResultSet 接口在不少語言中都出現過,它主要來存放查詢到的數據。每次查詢到數據後,Java語言中一般使用next()方法來讀取數據。大數據
版權聲明:本文爲博主原創文章,未經博主容許不得轉載。url