JAVA與SQLServer資料庫連接總結

來源:互聯網
上載者:User

   JAVA與SQLServer資料庫連接共有兩種方式:

 1       jdbc-odbc橋方式

1.1    建立ODBC資料來源:設定——〉控制台——〉管理工具——〉資料來源(ODBC)——〉系統DSN——〉添加——〉選擇SQLServer驅動——>填寫資料來源名字——〉選擇伺服器(本機伺服器可以寫.)——〉選擇登陸方式(預設使用windows NT驗證)——〉更改預設資料庫為所有資料庫——〉完成測試成功則建立完畢。 1.2    匯入包:import java.sql.*; 1.3    裝載驅動: DriverManager.registerDriver(new sun.jdbc.odbc.JdbcOdbcDriver()); 或者:  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 第一種方式比較常用,也容易理解; 1.4    建立串連: Connection con = DriverManager.getConnection("jdbc:odbc:xx"); 其中xx是1.1建立的資料來源名字,如果建立的資料來源選擇的windowsNT驗證方式,則上面語句即可;如果1.1所建立的資料來源登陸方式選擇的是SQL使用者驗證,則這裡要寫成: Connection con = DriverManager.getConnection("jdbc:odbc:xx"," 使用者名稱 "," 密碼 ");其中的"使用者名稱","密碼"分別是SQLServer所建立的“登陸”使用者,並具有對所用庫的操作許可權;  1.5    建立載體: Statement st = con.createStatement();  1.6    發出資料請求:查詢資料操作: ResultSet rs = st.executeQuery("select * from titles");  該語句將sql語句傳遞給資料庫並返回一個結果集rs,即查詢結果放在rs對象中; 更新資料操作: int count=st.executeUpdate( "update USERS set username='aaa' where id=3" );  所有對資料庫進行的具有更新性質的操作(包含update,insert,delete等)都要調用這個方法,返回結果是一個整數,即該操作所影響的行數;  1.7    處理結果集: rs.next()將結果集rs中的行指標向後移動一行,注意行指標最初在第一行之前,並沒有指向第一行。該方法返回一個布爾值,如果是true則表示可以移動到下一行,否則表示已經移動到記錄集末尾;  rs.getString()如果移動到某行,可以通過該方法擷取該行的某列資料,其調用方式是:       rs.getString(" 列名 ")或者          rs.getString( 列序號 )          注意:列序號是從1開始 1.8    獲得中繼資料資訊(表的列定義資訊): ResultSetMetaData meta = rs.getMetaData();  rs.getMetaData()返回結果集rs的元資訊(結果集的列定義資訊) meta.getColumnCount()返回中繼資料中的列的數量; meta.getColumnName( 列序號)返回中繼資料中的某列的列名; 其常用方式是:ResultSetMetaData meta = r.getMetaData();                     for (int i = 1; i <= meta.getColumnCount(); i++)                     {                          System.out.print(meta.getColumnName(i)+"      ");//欄位名稱                   }                    System.out.println();  1.9    關閉資料庫各對象:按照建立順序逆序關閉各對象:       rs.close();//關閉結果集       st.close();//關閉載體       conn.close();//關閉串連

2       JDBC直接連接SQLServer資料庫注意:l         該方法 需要建立ODBC資料來源;l         需要配置SQLServer資料庫屬性中的安全項目中為SQL和windowsNT系統驗證模式。 2.1    配置jdk加入微軟的jar包 msbase.jar mssqlserver.jar msutil.jar    2.2    裝載驅動: DriverManager.registerDriver(new com.microsoft.jdbc.sqlserver.SQLServerDriver());   2.3    建立串連: Connection con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName= 庫名 "," 使用者名稱 "," 密碼 ");   其中:l         //localhost是資料庫的主機地址,本地機即是localhost;l         1433為資料庫連接埠號碼,預設是1433,如果資料庫配置不是該連接埠需要對應修改;l         庫名為所要操作的資料庫名字,注意不是表名;l         使用者名稱、密碼為SQLServer系統設定“登入”,並具有對庫名所指資料庫的操作許可權,預設可以用sa;  2.4    其他步驟說明:以上完成後,其他步驟和使用方法完全同第1種方式一致。 一般以JDBC直接連接的常用程式碼片段如下:   String dbUrl = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mini";       String user="sa"; //使用者名稱     String password="";//密碼       try        {              // 裝載驅動程式              DriverManager. registerDriver (new com.microsoft.jdbc.sqlserver.SQLServerDriver());              //建立串連              Connection conn = DriverManager.getConnection(dbUrl,user,password);              Statement st = conn.createStatement();              // 執行,獲得資料集              ResultSet rs =st.executeQuery("SELECT * FROM users");                            //獲得中繼資料              ResultSetMetaData meta = rs.getMetaData();              for (int i = 1; i <= meta.getColumnCount(); i++)              {                   System.out.print(meta.getColumnName(i)+"      ");//欄位名稱            }             System.out.println();                          //迴圈列印結果中的資訊              while(r.next())               {                     System.out.println(rs.getString(1)+"  "+rs.getString(2) +" "+ rs.getString(3) );              }              //關閉                     rs.close();                      st.close();conn.close();              }               catch(Exception e)               {                     e.printStackTrace();              }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.