Jcat
宠辱不惊,闲看庭前花开花落~~
posts - 173,comments - 67,trackbacks - 0

用JDBC操作数据库,对比一下Java和Groovy。

环境: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
));  // 数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    //直接用数据库的字段名就可以操作结果集了,不用去数id
        }

    }
}


总结
1. 建立查询,差别不大,都是JDBC那一套;Groovy不用处理异常
2. 处理查询结果,Groovy因为有闭包,处理这些迭代问题很方便
3. Groovy不用关闭
posted on 2008-11-07 15:02 Jcat 阅读(1653) 评论(3)  编辑  收藏 所属分类: Java

FeedBack:
# re: Groovy JDBC[未登录]
2008-11-07 17:10 | Johnny
你为什么要写main?直接写成脚本不好吗?  回复  更多评论
  
# re: Groovy JDBC
2008-11-07 17:20 | Jcat
当然可以直接写脚本,例子嘛,呵呵  回复  更多评论
  
# re: Groovy JDBC
2009-07-09 14:06 | tomorrowaivy
为什么我在groovy中这样写,老是提示ClassNotFoundException() com.microsoft.jdbc.sqlserver.SQLServerDriver。谢谢!

  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: