当前位置: > 数据库 > Oracle >

Groovy访问oracle数据库

时间:2016-06-24 01:31来源:linux.it.net.cn 作者:IT

Groovy访问数据库,间接,方便。 需要提前将ojdbc5.jar放到groovy'的lib文件夹下面,或者确保你Groovy能去读该驱动,例如-cp  .;xxx.jar;  等等

 

 
  1.  import groovy.sql.Sql    
  2.  import java.sql.Connection;   
  3.    
  4.   sql = Sql.newInstance(     
  5.             "jdbc:oracle:thin:@xxxxxx:orcl",     
  6.             "OR01",  
  7.             "OR01PW",  
  8.             "oracle.jdbc.driver.OracleDriver")     
  9.     println("执行查询语句");    
  10.    //------------------------------------------------------------------------------  
  11. //-----从表-------------------------------------------------------------------------  
  12. sql.connection.autoCommit = false;  
  13.   
  14. String insertSql = "INSERT INTO auth_token2(id, version, user2_id, token, expiration, description, os_user)"+  
  15.     " VALUES(?, 0, ?, ?, ?, ?, ?)"  
  16. String getOldTokenSql = "SELECT U.user2_id, AT.token, AT.expiration,"+  
  17.     " AT.description, UU.name FROM auth_token AT LEFT JOIN user U ON AT.user_id = U.id "  
  18. String deleteOldTokenSql = "DELETE FROM auth_token"  
  19.   
  20. sql.eachRow(getOldTokenSql) { row ->  
  21.     String tokenId = UUID.randomUUID()  
  22.     String user2Id = row['user2_id']  
  23.     String token = row['token']  
  24.     def    expiration = row['expiration']    (该字段为Long类型,可以删除中文注释)  
  25.     String desc = row['description']  
  26.     String name = row['name']  
  27.          
  28.     sql.executeUpdate(insertSql, [tokenId, user2Id, token, expiration, desc, name])  
  29.     println "token ${token}"  
  30. }  
  31.   
  32. sql.executeUpdate(deleteOldTokenSql);  
  33. sql.commit();  



(责任编辑:IT)
------分隔线----------------------------