Groovy 数据库


当前第2页 返回上一页

读出操作是通过使用SQL类的eachRow方法进行。

句法

eachRow(GString gstring, Closure closure) 

执行给定的SQL查询调用,结果集的每一行给出闭幕。

参数

  • GString的 -这需要执行的SQL语句。

  • 封闭 -封闭语句来处理来自读操作retrived行。执行给定的SQL查询调用,结果集的每一行给出闭幕。

下面的代码示例演示了如何来从雇员表中的所有记录。

import java.sql.*; 
import groovy.sql.Sql
 
class Example {
   static void main(String[] args) {
      // Creating a connection to the database
      def sql = Sql.newInstance('jdbc:mysql://localhost:3306/TESTDB', 'testuser', 
         'test123', 'com.mysql.jdbc.Driver')  
			
      sql.eachRow('select * from employee') {
         tp -> 
         println([tp.FIRST_NAME,tp.LAST_NAME,tp.age,tp.sex,tp.INCOME])
      }  
		
      sql.close()
   } 
}

从上面的程序的输出将是 -

[Mac, Mohan, 20, M, 2000.0]

更新操作

任何数据库上进行更新操作手段来更新一个或多个记录,这已经在数据库中。下面的过程更新过性别为“M”的所有记录。在这里,我们一岁增加所有男子的年龄。

import java.sql.*; 
import groovy.sql.Sql 

class Example {
   static void main(String[] args){
      // Creating a connection to the database
      def sql = Sql.newInstance('jdbc:mysql://localhost:3306/TESTDB', 'testuser', 
         'test@123', 'com.mysql.jdbc.Driver')
			
      sql.connection.autoCommit = false
      def sqlstr = "UPDATE EMPLOYEE SET AGE = AGE + 1 WHERE SEX = 'M'" 
	  
      try {
         sql.execute(sqlstr);
         sql.commit()
         println("Successfully committed")
      }catch(Exception ex) {
         sql.rollback() 
         println("Transaction rollback")
      }
		
      sql.close()
   } 
}

删除操作

当你想从数据库中删除一些记录DELETE操作是必需的。以下是从哪里EMPLOYEE年龄超过20删除所有记录的过程。

import java.sql.*; 
import groovy.sql.Sql 

class Example {
   static void main(String[] args) {
      // Creating a connection to the database
      def sql = Sql.newInstance('jdbc:mysql://localhost:3306/TESTDB', 'testuser', 
         'test@123', 'com.mysql.jdbc.Driver')
			
      sql.connection.autoCommit = false
      def sqlstr = "DELETE FROM EMPLOYEE WHERE AGE > 20"
   
      try {
         sql.execute(sqlstr);
         sql.commit()
         println("Successfully committed")
      }catch(Exception ex) {
         sql.rollback()
         println("Transaction rollback")
      }
   
      sql.close()
   } 
}

执行事务

事务是确保数据一致性的机制。交易有以下四个属性 -

  • 原子性 -事务完成或根本没有任何事情发生。

  • 一致性 -事务必须以一致的状态开始,并使系统保持一致状态。

  • 隔离 -事务的中间结果在当前事务外部不可见。

  • 持久性 -一旦事务提交,即使系统发生故障,影响仍然持续。

这里是一个如何实现事务的简单示例。我们已经从DELETE操作的上一个主题中看到了这个示例。

def sqlstr = "DELETE FROM EMPLOYEE WHERE AGE > 20" 
 
try {
   sql.execute(sqlstr); 
   sql.commit()
   println("Successfully committed") 
}catch(Exception ex) {
   sql.rollback()
   println("Transaction rollback") 
} 
sql.close()

提交操作

提交操作是告诉数据库继续操作并完成对数据库的所有更改。

在我们的上述例子中,这是通过下面的语句实现 -

sql.commit()

回滚操作

如果您对一个或多个更改不满意,并希望完全还原这些更改,请使用回滚方法。在我们上面的例子中,这是通过以下语句实现的:

sql.rollback()

断开数据库

要断开数据库连接,使用Close方法。

sql.close()

标签:Groovy

返回前面的内容

相关阅读 >>

Groovy 字符串

Groovy 特征

Groovy 数字

Groovy xml

Groovy 可选

Groovy shebang行

Groovy dsls

Groovy 闭包

Groovy 泛型

Groovy 正则表达式

更多相关阅读请进入《Groovy》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...