用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 閱讀(1670)
評論(3) 編輯 收藏 所屬分類:
Java