1. 程式人生 > >java-JDBC訪問資料庫

java-JDBC訪問資料庫

Java語言提供了對資料庫的強大支援,Java語言提供JDBC來實現對資料庫訪問和資料處理的支援。利用JDBC來訪問特定的資料庫,實現對資料庫的各種操作。具體有7步:

(1) 匯入JDBC類;

(2) 裝載/註冊驅動程式;

(3) 連線資料庫;

(4) 建立語句物件;

(5) 執行SQL語句;

(6) 處理結果;

(7) 關閉連線。

三、下載驅動及配置

(以SQL SERVER資料庫為例,若是其它資料庫,則採用相應的驅動程式;驅動方式採用純JAVA程式驅動,若採用其它模式,則程式中語句相應要進行調整

1. 使用純Java驅動,首先必須獲得相應資料庫的驅動程式包;

SQLServer JDBC驅動包有兩種:sqljdbc.jar和sqljdbc4.jar,根據所使用的JDK版本選擇相應的驅動程式。並將完整路徑設定到classpath環境變數中,如用開發工具開發程式,還需在開發環境中設定路徑。

sqljdbc4.jar類庫檔案拷貝到D:\Program Files\Java\jdk1.7.0\jre\lib\ext目錄下。(這個路徑根據JDK的版本和安裝路徑確定,下同 

sqljdbc4.jar類庫檔案拷貝到D:\Program Files\Java\jre7\lib\ext目錄下( 最好是,只要是jre資料夾,都複製一個sqljdbc4.jarjre7\lib\ext裡去!!


在環境變數classpath 後面新增sqljdbc4.jar的路徑。
2. 設定SQLEXPRESS伺服器:
    a.開啟SQL Server Configuration Manager -> SQLEXPRESS的協議 -> TCP/IP

    b.右鍵單擊啟動TCP/IP

    c.雙擊進入屬性,把IP地址中的IP all中的TCP埠設定為1433

    d.重新啟動SQL Server 2005服務中的SQLEXPRESS伺服器

e.關閉SQL Server Configuration Manager

注:可以在命令列視窗中用如下命令檢視1433埠是否開啟:

Telnet localhost 1433

若執行命令後,視窗左上角有游標閃爍,無其它提示資訊,則說明埠已開啟。

實驗程式碼:

public void  testSelect(){
		System.out.println("database example:");
		   Connection conn = null; //連線介面物件
		      Statement stmt = null;  //Statement介面物件
		  try{
		     Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");  //載入驅動程式
		     String url="jdbc:sqlserver://localhost:1433; DatabaseName=p";   //資料庫埠名字資訊 
		     String user="sa";
		     String password="123456"; // 使用者名稱和密碼;
		     conn= DriverManager.getConnection(url,user,password);   呼叫DriverManager物件的getConnection()方法建立與資料庫
                        的連線
		     stmt=conn.createStatement();  //createStatement()方法建立Statement物件
		     String sql = "select * from student";  //SQL語句
		     ResultSet rs = stmt.executeQuery(sql);   //ResultSet物件,接受執行結果。executeQuery()方法,返回執行結果
		     System.out.println("學號"+" "+"姓名"+"  "+"性別"+" "+"年齡"+" "+"學院");
		     while(rs.next())
		     {
		      System.out.print(rs.getString(1)+" ");
		      System.out.print(rs.getString(2));
		      System.out.print(rs.getString(3)+" ");
		      System.out.print(rs.getString(4)+" ");
		      System.out.println(rs.getString(5));
		     }  
		  }catch(Exception ex){        //異常丟擲
		   System.out.println(ex.toString());
		  }
		  finally{
		   if(stmt!=null){
		    try{
		      stmt.close();  //關閉Statement物件	
		    }catch(Exception ex){}    
		   }
		   if(conn!=null){
		    try{
		     conn.close();   //關閉Connection物件
		    }catch(Exception ex){} 
		   }    
		  }
		  System.out.println("End");
	}
 結果: