在Eclipse中連接SQL


原創


在Eclipse中連接SQL分為如下幾個步驟:

1.加載驅動程序

2.創建連接對象

3.創建執行SQL語句的對象

4.執行SQL語句

5.關閉new出來的對象

 

1.加載驅動程序(以SQL為例)

不同的數據庫(SQL、MySQL等)的不同版本、不同JDK可能對應不同的驅動包(以jar結尾),到網上找找即可。

下載好驅動包后將完整路徑設置到classpath環境變量中,如用開發工具開發程序,還需在開發環境中設置路徑。

將驅動類庫文件拷貝到D:\Program Files\Java\jdk1.7.0\jre\lib\ext目錄下。(這個路徑根據JDK的版本和安裝路徑確定,下同) 

將驅動類庫文件拷貝到D:\Program Files\Java\jre7\lib\ext目錄下( 最好是,只要是jre文件夾,都復制一個驅動包到jre7\lib\ext里去!!)

設置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

若執行命令后,窗口左上角有光標閃爍,無其它提示信息,則說明端口已打開。

完成以上步驟后后面靠Java編程即可。

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");    //加載驅動程序

加載驅動程序用到類Class中的方法forName(),里面的字符串指定的位置如下圖:

2.創建連接對象

Connection conn=DriverManager.getConnection(dbURL,userName,pwd);

主要用到Connection類創建連接對象conn,用DriverManager的getConnection方法創建引用。

dbURL:String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=數據庫名稱";(注意,DatabaseName是數據庫名稱,不是你登陸SQL時的用戶名sa或者其他)

userName:String userName="sa";(這個才是登錄時的用戶名)

pwd:String pwd="dearcwm*0.";(登陸時的密碼)

3.創建執行SQL語句的對象

String select_Statement="select * from student";
PreparedStatement stmp=conn.prepareStatement(select_Statement);

用類PreparedStatement創建執行SQL語句的對象stmp,這里可以看到conn用來創建此對象,所以連接SQL要按步驟順序來。

4.執行SQL語句

ResultSet rs=stmp.executeQuery();    //執行SQL語句返回結果集

用stmp的方法executeQuery執行上面寫的SQL語句,並用ResultSet的實例接受返回的結果集(這里的SQL執行查詢功能,其他功能用不同的類型數據接收)

5.關閉new出來的對象

while(rs.next()) {
      System.out.println(rs.getString("Sno"));
      System.out.println(rs.getString("Sname"));
      System.out.println(rs.getString("Ssex"));
      System.out.println(rs.getInt("Sage"));
      System.out.println(rs.getString("Sdept"));
}
rs.close();
stmp.close();
conn.close();

用rs的next方法可以使其指向下一行數據,方法get字段數據類型輸出字段值

查看數據庫表中各字段的數據類型的查詢語句為:

SELECT  name AS column_name ,
        TYPE_NAME(system_type_id) AS column_type ,
        max_length ,
        is_nullable
FROM    sys.columns
WHERE   object_id = OBJECT_ID(N'customerbase')  --customerbase 為表名

完整代碼:

import java.sql.*;

public class ConnectionDB_test {

    public static void main(String[] args) {
        String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=DB OF CWM";
        String userName="sa";
        String pwd="dearcwm*0.";
        try {
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");    //加載驅動程序
            Connection conn=DriverManager.getConnection(dbURL,userName,pwd);
            System.out.println("連接數據庫成功!");
            String select_Statement="select * from student";
            PreparedStatement stmp=conn.prepareStatement(select_Statement);
            ResultSet rs=stmp.executeQuery();    //執行SQL語句返回結果集
            while(rs.next()) {
                System.out.println(rs.getString("Sno"));
                System.out.println(rs.getString("Sname"));
                System.out.println(rs.getString("Ssex"));
                System.out.println(rs.getInt("Sage"));
                System.out.println(rs.getString("Sdept"));
            }
            rs.close();
            stmp.close();
            conn.close();
            
        }catch(Exception e) {
            e.printStackTrace();
        }

    }

}

09:26:34

2018-09-29


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM