Jcat
          寵辱不驚,閑看庭前花開花落~~
          posts - 173,comments - 67,trackbacks - 0

          用JDBC操作數(shù)據(jù)庫,對比一下Java和Groovy。

          環(huán)境:SQL Server 2000 (記得打補丁SP4,不然JDBC訪問會報錯)
          JDBC Driver:msbase.jar,mssqlserver.jar,msutil.jar

          Java版

          package ?jcat.bit.java;

          import ?java.sql. * ;

          public ? class ?JDBC?{
          ????
          public ? static ? void ?main(String[]?args)? throws ?ClassNotFoundException,?SQLException?{
          ????????Class.forName(
          " com.microsoft.jdbc.sqlserver.SQLServerDriver " );
          ????????Connection?conn?
          = ?DriverManager.getConnection(
          ????????????????
          " jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs " ,
          ????????????????
          " sa " ,? "*** " );

          ????????Statement?stmt?
          = ?conn.createStatement();
          ????????ResultSet?rs?
          = ?stmt.executeQuery( " select?top?10?*?from?authors " );

          ????????
          while ?(rs.next())?{
          ????????????System.out.println(rs.getString(
          2 ) + " ? " + rs.getString( 3
          ));??//?數(shù)id
          ????????}


          ????????rs.close();
          ????????stmt.close();
          ????????conn.close();

          ????}
          }



          Groovy版
          package?jcat.bit.groovy

          import?groovy.sql.Sql

          class?JDBC?{
          ????
          static?void?main(args)?{
          ????????Sql?sql?
          =?Sql.newInstance(
          ????????????????
          "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs",
          ????????????????
          "sa",?"***",
          ????????????????
          "com.microsoft.jdbc.sqlserver.SQLServerDriver")
          ????????sql.eachRow(
          "select?top?10?*?from?authors")?{row?->
          ????????????println?row.au_fname?
          +?"?"?+?row.au_lname????//直接用數(shù)據(jù)庫的字段名就可以操作結(jié)果集了,不用去數(shù)id
          ????????}

          ????}
          }


          總結(jié)
          1. 建立查詢,差別不大,都是JDBC那一套;Groovy不用處理異常
          2. 處理查詢結(jié)果,Groovy因為有閉包,處理這些迭代問題很方便
          3. Groovy不用關(guān)閉
          posted on 2008-11-07 15:02 Jcat 閱讀(1674) 評論(3)  編輯  收藏 所屬分類: Java

          FeedBack:
          # re: Groovy JDBC[未登錄]
          2008-11-07 17:10 | Johnny
          你為什么要寫main?直接寫成腳本不好嗎?  回復(fù)  更多評論
            
          # re: Groovy JDBC
          2008-11-07 17:20 | Jcat
          當(dāng)然可以直接寫腳本,例子嘛,呵呵  回復(fù)  更多評論
            
          # re: Groovy JDBC
          2009-07-09 14:06 | tomorrowaivy
          為什么我在groovy中這樣寫,老是提示ClassNotFoundException() com.microsoft.jdbc.sqlserver.SQLServerDriver。謝謝!

            回復(fù)  更多評論
            
          主站蜘蛛池模板: 德庆县| 体育| 福泉市| 尼木县| 木里| 广平县| 阿拉善左旗| 华阴市| 格尔木市| 吴旗县| 焦作市| 肥东县| 时尚| 新津县| 宁化县| 五大连池市| 乐清市| 昂仁县| 南召县| 宝坻区| 深水埗区| 赤峰市| 广州市| 福建省| 年辖:市辖区| 双辽市| 高州市| 察隅县| 综艺| 特克斯县| 牡丹江市| 漯河市| 宁乡县| 孟州市| 嘉鱼县| 德州市| 海伦市| 赤城县| 五家渠市| 罗山县| 新乐市|