本文主要介绍Groovy对数据的CRUD操作,熟悉groovy.sql包,测试使用的数据库是H2。 1.数据库连接配置 <span xss=removed>//数据库连接配置<br>def db = [<br> url:'jdbc:h2:mem:groovy',<br> user:'root',<br> password:'root',<br> driver:'org.h2.Driver'<br>];<br></span> 2.创建数据库连接,这里使用到Groovy的Sql类。 Groovy是一种动态、灵活的Java平台上的编程语言,它在许多方面简化了Java的开发,尤其是在处理数据库操作时。在Groovy中,`groovy.sql`包提供了方便的API来执行对数据库的CRUD(创建、读取、更新、删除)操作。本文将深入探讨如何使用Groovy进行数据库交互,以H2内存数据库为例。 我们需要配置数据库连接。在Groovy中,这通常通过创建一个包含连接参数的Map来完成,如标题和描述中所示: ```groovy def db = [ url: 'jdbc:h2:mem:groovy', user: 'root', password: 'root', driver: 'org.h2.Driver' ]; ``` 这里的配置项包括数据库URL、用户名、密码和JDBC驱动类名。H2内存数据库在`jdbc:h2:mem:groovy`中运行,`root`用户无密码,使用`org.h2.Driver`作为JDBC驱动。 接下来,我们可以使用`Sql.newInstance()`方法创建一个数据库连接: ```groovy def sql = Sql.newInstance(db.url, db.user, db.password, db.driver); ``` 一旦连接建立,我们就可以执行SQL语句来创建数据库表。例如,创建一个名为`account`的表: ```groovy sql.execute(''' CREATE TABLE account( id INTEGER NOT NULL, name VARCHAR(20), url VARCHAR(100) ) '''); ``` Groovy的`Sql`类提供了`execute`方法,可以执行DDL(数据定义语言)语句,如`CREATE TABLE`。 接着,我们可以利用Groovy的便利性向表中插入数据。例如,插入多条记录: ```groovy def datas = [ [100, 'Jack', 'http://www.jack.net'], [101, 'Groovy', 'http://groovy.com'], [102, 'Apache', 'http://apache.org'] ]; datas.each { param -> sql.execute('INSERT INTO account(id, name, url) VALUES (?, ?, ?)', param); } // 查询并打印所有数据 println('Insert After:'); sql.eachRow('SELECT id, name, url FROM account') { row -> printf('|%d|%s|%s|\n', row.id, row.name, row.url); } ``` `each`和`eachRow`方法分别用于遍历数据列表和查询结果。`execute`方法中的问号是占位符,与传递的参数列表匹配。 查询数据也很简单,例如获取第一行记录: ```groovy def rs = sql.firstRow('SELECT * FROM account'); println('Query First Row:'); println(rs); ``` `firstRow`方法返回的是一个实现了`Map`接口的对象,可以直接按照键值对访问。 对于更新数据,我们可以使用`executeUpdate`方法: ```groovy def updatedRows = sql.executeUpdate('UPDATE account SET name = ? WHERE id = ?', ['NewName', 100]); println("Updated Rows: $updatedRows"); ``` 删除数据可使用类似的方法: ```groovy def deletedRows = sql.executeUpdate('DELETE FROM account WHERE id = ?', [101]); println("Deleted Rows: $deletedRows"); ``` 在Groovy中,这些操作非常直观,得益于其简洁的语法和对Java集合及流的支持。`groovy.sql.Sql`类提供的API使得数据库操作变得轻松而高效,适合快速原型开发或集成到自动化脚本中。 Groovy的`groovy.sql`包为数据库操作提供了一套强大且易用的工具,结合Groovy的动态特性,使得开发者能更专注于业务逻辑,而不用过于关心底层数据库操作的复杂性。无论是在脚本、服务还是Web应用中,Groovy都能作为一个高效的数据库操作语言。
- 粉丝: 7
- 资源: 909
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0