在groovy的语法中,数据库的连接和查询都是非常方便的,文件的输入输出也不复杂,以下的例子是利用该技术将数据库中的一个表中的数据导出到xml文件中。
DBtoXML.groovy代码如下:
1 /**
2 * 将数据库中的数据转化为xml格式
3 * @author hanry
4 */
5
6 import groovy.sql.Sql
7 import groovy.xml.MarkupBuilder
8
9 def DRIVER = "com.mysql.jdbc.Driver"
10 def USER = "name"
11 def PASSWORD = "password"
12 def URL = "jdbc:mysql://localhost:3306/user"
13 def sql = Sql.newInstance(URL,USER,PASSWORD,DRIVER)
14
15 def req = "SELECT * FROM test"
16 def out = new File("users.xml")
17 def writer = new FileWriter(out)
18 def xml = new MarkupBuilder(writer)
19
20 xml.users{
21 sql.eachRow(req as String){
22 row ->
23 xml.user(id:row.id){
24 name(row.name)
25 password(row.password)
26 }
27 }
28 }
9-13行是数据库的连接,是我见过的最简单的,在groovy中,不用担心异常的抛出,这提高了程序员的开发效率,当然,前提是牺牲运行效率。
在groovy中最强大的要数闭包了,20-28行就是闭包的示例。xml.users对应xml的根,其子节点为user,user有id属性,user的子节点为name和password。
运行后的xml文件如下:
1 <users>
2 <user id='1'>
3 <name>hanry</name>
4 <password>112358</password>
5 </user>
6 <user id='2'>
7 <name>xixi</name>
8 <password>123456</password>
9 </user>
10 <user id='3'>
11 <name>yongxu</name>
12 <password>111111</password>
13 </user>
14 </users>