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

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

          環(huán)境:SQL Server 2000 (記得打補(bǔ)丁SP4,不然JDBC訪問(wèn)會(huì)報(bào)錯(cuò))
          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ù)庫(kù)的字段名就可以操作結(jié)果集了,不用去數(shù)id
          ????????}

          ????}
          }


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

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

            回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 谢通门县| 河西区| 泽州县| 叶城县| 任丘市| 怀宁县| 罗源县| 青州市| 平顶山市| 福清市| 浑源县| 平凉市| 金乡县| 陆川县| 长葛市| 芷江| 临湘市| 嘉兴市| 渭南市| 黄浦区| 黄龙县| 上犹县| 清镇市| 沁源县| 慈溪市| 灵川县| 呈贡县| 于田县| 奎屯市| 巴林左旗| 上饶市| 永修县| 郸城县| 沂源县| 团风县| 龙海市| 赤城县| 防城港市| 巨野县| 阿巴嘎旗| 汽车|