JDBC初步 JDBC連接SQLServer 2008之心路歷程


        JDBC簡介

       今天,研究了下JDBC連接SQL Server2008的過程,為了日后學習的方便,就把自己的心得寫出來,供自己日后參考,如果這篇文章對您有所幫助,那就更好了。

       首先,大家需要知道的是JDBC僅僅是一個接口,通過JDBC去加載對應的驅動程序,進而來操作數據庫。換句話說,JDBC需要依賴對應數據庫的驅動程序才可以訪問數據庫。所以,當我們在機器上安裝了一個數據庫后,應用程序是不能直接操作數據庫的,只有安裝了對應的驅動程序后,應用程序才可以通過驅動程序去操作數據庫。

       JDBC全稱:

            Java  Data   Base  Connectivity(java數據庫連接)

            組成JDBC的2個包:

           Java.sql和javax.sql

    開發JDBC應用時除了需要以上2個包的支持外,還需要導入相應JDBC的數據庫實現(即數據庫驅動)

       JDBC案例實戰

      下面我們通過一個簡單的增刪改查案例來看下JDBC如何與數據庫交互,今天我們探討的是與SQL Server2008如何交互。因為SQL Server2000的服務端口默認為1433         不需要配置。而2008的端口為動態端口,所以我們以2008為例講解。

        第一步:搭建實驗環境

         1,         在SQL server 2008中創建一個Myschool數據庫,並創建Admin表

              Admin表中就兩個字段(LoginId,LoginPwd),並且都是nvarchar類型,由於這個過程比較簡單,我們就不再贅述。

         2,         編寫程序,在程序中加載數據庫驅動

              我們打開Eclipse或者Myeclipse發開環境,新建一個java項目。

              我這里以Myeclipse 10.0為例講解。

              新建一個java項目,命名為javaJDBC,新建一個Java類,命名為MyFirstCon.java,

              然后對項目javaJDBC點擊右鍵添加一個lib文件夾,將sqljdbc4.jar復制到lib文件夾中。對sqljdbc4點右鍵,出現如下菜單

              

     點擊Add  to  Build  Path,然后導入如下命名空間:

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.SQLException;

    接下來,我們就可以編寫代碼了,但是上面我們提到SQL Server 2008中端口為動態的。那么如何使端口成為固定端口呢?我們需要設定一下:

  找到Sql Server下的配置管理器,找到SQL server 網絡配置,然后找到本機上安裝的數據庫實例,如下圖

          

      這里我們選中Happy的協議,然后雙擊右側列表中的Tcp/IP,切換到IP地址選項卡,

          

    找到IP地址為127.0.0.1的IP地址,將已啟動屬性設置為是,

    然后找到IPAll節點,如下圖

         

    然后點擊應用,最后點擊確定就可以了。

    然后,按照下圖設置,

     

    將已啟用屬性設置成是。

    切記:設置完成后要重新啟動SQL Server服務。

  二、編寫代碼

    以下代碼均寫在Main方法中

   Connection con=null;

  1. 加載驅動

  try {

       Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");   

       } catch (Exception e) {

         e.printStackTrace();

      }                    

  2,獲取與數據庫連接

    con=DriverManager.getConnection("jdbc:sqlserver://happy\\happy:1435;DatabaseName=Myschool","sa","123");

  3, 獲取用於向sql發送命令的statement

    Statement  stmt=null;

    stmt=con.createStatement();

  4, 向數據庫發送SQL命令

    String sql="insert into admin values('1112','1112') ";

    if(stmt.executeUpdate(sql)>0){

               System.out.println("新增數據成功");

          }else {

               System.out.println("新增數據失敗!");

          }

  5.關閉連接

  Stmt.close()

  Con.close();

  好了,第一個新增的案例完成。

  在講解下述內容前,我們先來看下Statement的常用方法

  Statement常用方法

    01.executeQuery(String sql):執行sql查詢並獲取到ResultSet對象,返回值為ResultSet

    02.executeUpdate(String sql):可以執行插入、刪除、更新等操作,返回值是執行該操作所影響的行數,int類型。

    03,execute(String sql):可以執行任意SQL語句,然后獲得一個布爾值,表示是否返回Result。

    /***************************Update*****************************/

    //更新

    String sql="update admin set loginpwd='111' where loginid='112'";

    stmt.executeUpdate(sql);

    /*************************delete*****************************/

    //刪除

    String sql="delete from admin where loginid='1112'";

    stmt.executeUpdate(sql);

    /*************************select*****************************/

    //查詢

    String sql="select * from admin";

       ResultSet rs=stmt.executeQuery(sql);

       while(rs.next()){

           System.out.println(rs.getString("loginid"));

           System.out.println(rs.getString("loginpwd"));

          

       }

    PreparedStatement接口

    PreparedStatement接口繼承Statement接口,比普通的Statement對象使用起來更加靈活,更有效率,使用方式和Statement相同

      這次分享就到這里,如有需要,可以聯系我,email:yymqqc@126.com

 

 


免責聲明!

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



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