An agile dynamic language for the Java Platform
Groovy supports a few neat ways to work with SQL more easily and to make SQL more Groovy. You can perform queries and SQL statements, passing in variables easily with proper handling of statements, connections and exception handling thanks to closures.
import groovy.sql.Sql
def foo = 'cheese'
def sql = Sql.newInstance("jdbc:mysql://localhost:3306/mydb", "user",
"pswd", "com.mysql.jdbc.Driver")
sql.eachRow("select * from FOOD where type=${foo}") {
println "Gromit likes ${it.name}"
}
In the above example, you can refer to the various columns by name, using the property syntax on the row variable (e.g. it.name) or you can refer to the columns by their index (e.g. it[0]) For example:
import groovy.sql.Sql
def foo = 'cheese'
def sql = Sql.newInstance("jdbc:mysql://localhost:3306/mydb", "user",
"pswd", "com.mysql.jdbc.Driver")
def answer = 0
sql.eachRow("select count(*) from FOOD where type=${foo}") { row ->
answer = row[0]
}
assert answer > 0
Or you can create a DataSet which allows you to query SQL using familar closure syntax so that the same query could work easily on in memory objects or via SQL. e.g.
import groovy.sql.Sql
def sql = Sql.newInstance("jdbc:mysql://localhost:3306/mydb", "user",
"pswd", "com.mysql.jdbc.Driver")
def food = sql.dataSet('FOOD')
def cheese = food.findAll { it.type == 'cheese' }
cheese.each { println "Eat ${it.name}" }
Advanced Usage
In this example, we create a table, make changes to it and confirm the changes worked.
def sql = Sql.newInstance("jdbc:mysql://localhost:3306/mydb",
"user", "pswd", "com.mysql.jdbc.Driver")
// delete table if previously created
try {
sql.execute("drop table PERSON")
} catch(Exception e){}
// create table
sql.execute('''create table PERSON (
id integer not null primary key,
firstname varchar(20),
lastname varchar(20),
location_id integer,
location_name varch
Ïà¹ØÎĵµ£º
1995Äê5ÔÂ23ÈÕ£¬JavaÓïÑÔµ®Éú
1996Äê1Ô£¬µÚÒ»¸öJDK-JDK1.0µ®Éú
1996Äê4Ô£¬10¸ö×îÖ÷ÒªµÄ²Ù×÷ϵͳ¹©Ó¦ÉÌÉêÃ÷½«ÔÚÆä²úÆ·ÖÐǶÈëJAVA¼¼Êõ
1996Äê9Ô£¬Ô¼8.3Íò¸öÍøÒ³Ó¦ÓÃÁËJAVA¼¼ÊõÀ´ÖÆ×÷
1997Äê2ÔÂ18ÈÕ£¬JDK1.1·¢²¼
1997Äê4ÔÂ2ÈÕ£¬JavaOne»áÒéÕÙ¿ª£¬²ÎÓëÕßÓâÒ»ÍòÈË£¬´´µ±Ê±È«ÇòͬÀà»áÒ鹿ģ֮¼Í¼
1997Äê9 ......
ת×ÔInfoQ£¬×÷Õß Charles Humble ÒëÕß ÕÅÁú
±¾ÔÂ3ÈÕSunµÄJ2SE 5.0ʵÏÖÒÑÖÕ½á·þÎñÖÜÆÚ£¨End of Service Life£¬¼´EOSL£©£¬ÕâÒ»ÌìÒ²ÊÇ×îºóµÄÒ»´Î5.0¸üз¢²¼ÈÕÆÚ£¨J2SE 5.0 Update 22£©¡£Ñ°ÇóSunÖ§³ÖµÄÓû§¿ÉÒÔÑ¡ÔñÉý¼¶µ½Java 6»òÊǶ©ÔÄSunµÄJava for Business³ÌÐò¡£
SunÌṩÁ˶àÖÖ¶àÑùµÄJava¸¶·ÑÖ§³Ö¡£Java¾µäÖ§³Ö£ ......
1¡¢½ø³ÌÓëỊ̈߳º
¡¶1¡·Ê²Ã´Êǽø³Ì£ºÊÇÖ¸ÔËÐÐÖеÄÓ¦ÓóÌÐò£¬Ã¿Ò»¸ö½ø³Ì¶¼ÓÐ×Ô¼º¶ÀÁ¢µÄÄÚ´æ¿Õ¼ä£¬
Ò»¸öÓ¦ÓóÌÐò¿ÉÒÔͬʱÆô¶¯¶à¸ö½ø³Ì£¬(¾²Ì¬)±ÈÈ磨IE£¬JVM£©
¡¶2¡·Ê²Ã´ÊÇỊ̈߳ºÊÇÖ¸½ø³ÌÖеÄÒ»¸öÖ´ÐÐÁ÷³Ì£¬ ......
1.»ù±¾¸ÅÄîµÄÀí½â
¾ø¶Ô·¾¶£º¾ø¶Ô·¾¶¾ÍÊÇÄãµÄÖ÷Ò³ÉϵÄÎļþ»òĿ¼ÔÚÓ²ÅÌÉÏÕæÕýµÄ·¾¶£¬(URLºÍÎïÀí·¾¶)ÀýÈ磺
C:xyz est.txt ´ú±íÁËtest.txtÎļþµÄ¾ø¶Ô·¾¶¡£http://www.sun.com/index.htmÒ²´ú±íÁËÒ»¸öURL¾ø¶Ô·¾¶¡£
Ïà¶Ô·¾¶£ºÏà¶ÔÓëij¸ö»ù׼Ŀ¼µÄ·¾¶¡£°üº¬WebµÄÏà¶Ô·¾¶£¨HTMLÖеÄÏà¶ÔĿ¼£©£¬ÀýÈ磺ÔÚ
ServletÖУ¬ ......
ת×Ôhttp://www.cnblogs.com/liwp_stephen/archive/2008/08/03/1259385.html£¬·Ç³£¸Ðл×÷ÕߵķÖÏí
ʹÓÃAxis±àдWebService±È½Ï¼òµ¥£¬¾ÍÎÒµÄÀí½â£¬WebServiceµÄʵÏÖ´úÂëºÍ±àдJava´úÂëÆäʵûÓÐÊ²Ã´Çø±ð£¬Ö÷ÒªÊǽ«ÄÄЩJavaÀà·¢²¼ÎªWebService¡£ÏÂÃæÊÇÒ»¸ö´Ó±àд²âÊÔÀý× ......