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

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

          環(huán)境:SQL Server 2000 (記得打補(bǔ)丁SP4,不然JDBC訪問會(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)橛虚]包,處理這些迭代問題很方便
          3. Groovy不用關(guān)閉
          posted on 2008-11-07 15:02 Jcat 閱讀(1686) 評(píng)論(3)  編輯  收藏 所屬分類: Java

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

            回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 墨脱县| 乡宁县| 雅江县| 左权县| 北安市| 赤壁市| 谷城县| 洱源县| 扶风县| 白朗县| 西青区| 五寨县| 蒙城县| 漠河县| 武义县| 黎川县| 明溪县| 九江县| 莆田市| 句容市| 隆化县| 大理市| 广昌县| 手游| 谢通门县| 衡山县| 正定县| 辰溪县| 二手房| 卢氏县| 双峰县| 财经| 夏邑县| 留坝县| 左权县| 齐齐哈尔市| 昌黎县| 农安县| 阜宁县| 绍兴市| 孙吴县|