Java鏈接Oracle數據庫簡單實例

       數據庫的操做是當前系統開發必不可少的開發部分之一,尤爲是在如今的大數據時代,數據庫尤其重要。可是你真的懂得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

相關文章
相關標籤/搜索