日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

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

 horse_home 2014-04-19

        JDBC簡(jiǎn)介

       今天,研究了下JDBC連接SQL Server2008的過(guò)程,為了日后學(xué)習(xí)的方便,就把自己的心得寫出來(lái),供自己日后參考,如果這篇文章對(duì)您有所幫助,那就更好了。

       首先,大家需要知道的是JDBC僅僅是一個(gè)接口,通過(guò)JDBC去加載對(duì)應(yīng)的驅(qū)動(dòng)程序,進(jìn)而來(lái)操作數(shù)據(jù)庫(kù)。換句話說(shuō),JDBC需要依賴對(duì)應(yīng)數(shù)據(jù)庫(kù)的驅(qū)動(dòng)程序才可以訪問(wèn)數(shù)據(jù)庫(kù)。所以,當(dāng)我們?cè)跈C(jī)器上安裝了一個(gè)數(shù)據(jù)庫(kù)后,應(yīng)用程序是不能直接操作數(shù)據(jù)庫(kù)的,只有安裝了對(duì)應(yīng)的驅(qū)動(dòng)程序后,應(yīng)用程序才可以通過(guò)驅(qū)動(dòng)程序去操作數(shù)據(jù)庫(kù)。

       JDBC全稱:

            Java  Data   Base  Connectivity(java數(shù)據(jù)庫(kù)連接)

            組成JDBC的2個(gè)包:

           Java.sql和javax.sql

    開(kāi)發(fā)JDBC應(yīng)用時(shí)除了需要以上2個(gè)包的支持外,還需要導(dǎo)入相應(yīng)JDBC的數(shù)據(jù)庫(kù)實(shí)現(xiàn)(即數(shù)據(jù)庫(kù)驅(qū)動(dòng))

       JDBC案例實(shí)戰(zhàn)

      下面我們通過(guò)一個(gè)簡(jiǎn)單的增刪改查案例來(lái)看下JDBC如何與數(shù)據(jù)庫(kù)交互,今天我們探討的是與SQL Server2008如何交互。因?yàn)镾QL Server2000的服務(wù)端口默認(rèn)為1433         不需要配置。而2008的端口為動(dòng)態(tài)端口,所以我們以2008為例講解。

        第一步:搭建實(shí)驗(yàn)環(huán)境

         1,         在SQL server 2008中創(chuàng)建一個(gè)Myschool數(shù)據(jù)庫(kù),并創(chuàng)建Admin表

              Admin表中就兩個(gè)字段(LoginId,LoginPwd),并且都是nvarchar類型,由于這個(gè)過(guò)程比較簡(jiǎn)單,我們就不再贅述。

         2,         編寫程序,在程序中加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)

              我們打開(kāi)Eclipse或者M(jìn)yeclipse發(fā)開(kāi)環(huán)境,新建一個(gè)java項(xiàng)目。

              我這里以Myeclipse 10.0為例講解。

              新建一個(gè)java項(xiàng)目,命名為javaJDBC,新建一個(gè)Java類,命名為MyFirstCon.java,

              然后對(duì)項(xiàng)目javaJDBC點(diǎn)擊右鍵添加一個(gè)lib文件夾,將sqljdbc4.jar復(fù)制到lib文件夾中。對(duì)sqljdbc4點(diǎn)右鍵,出現(xiàn)如下菜單

              

     點(diǎn)擊Add  to  Build  Path,然后導(dǎo)入如下命名空間:

    import java.sql.Connection;

    import java.sql.DriverManager;

    import java.sql.SQLException;

    接下來(lái),我們就可以編寫代碼了,但是上面我們提到SQL Server 2008中端口為動(dòng)態(tài)的。那么如何使端口成為固定端口呢?我們需要設(shè)定一下:

  找到Sql Server下的配置管理器,找到SQL server 網(wǎng)絡(luò)配置,然后找到本機(jī)上安裝的數(shù)據(jù)庫(kù)實(shí)例,如下圖

          

      這里我們選中Happy的協(xié)議,然后雙擊右側(cè)列表中的Tcp/IP,切換到IP地址選項(xiàng)卡,

          

    找到IP地址為127.0.0.1的IP地址,將已啟動(dòng)屬性設(shè)置為是,

    然后找到IPAll節(jié)點(diǎn),如下圖

         

    然后點(diǎn)擊應(yīng)用,最后點(diǎn)擊確定就可以了。

    然后,按照下圖設(shè)置,

     

    將已啟用屬性設(shè)置成是。

    切記:設(shè)置完成后要重新啟動(dòng)SQL Server服務(wù)。

  二、編寫代碼

    以下代碼均寫在Main方法中

   Connection con=null;

  1. 加載驅(qū)動(dòng)

  try {

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

       } catch (Exception e) {

         e.printStackTrace();

      }                    

  2,獲取與數(shù)據(jù)庫(kù)連接

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

  3, 獲取用于向sql發(fā)送命令的statement

    Statement  stmt=null;

    stmt=con.createStatement();

  4, 向數(shù)據(jù)庫(kù)發(fā)送SQL命令

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

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

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

          }else {

               System.out.println("新增數(shù)據(jù)失??!");

          }

  5.關(guān)閉連接

  Stmt.close()

  Con.close();

  好了,第一個(gè)新增的案例完成。

  在講解下述內(nèi)容前,我們先來(lái)看下Statement的常用方法

  Statement常用方法

    01.executeQuery(String sql):執(zhí)行sql查詢并獲取到ResultSet對(duì)象,返回值為ResultSet

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

    03,execute(String sql):可以執(zhí)行任意SQL語(yǔ)句,然后獲得一個(gè)布爾值,表示是否返回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對(duì)象使用起來(lái)更加靈活,更有效率,使用方式和Statement相同

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

 

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多