Groovy之连接数据库

让我们远离java丑陋的数据库连接吧

package dsl

import groovy.sql.Sql 
def orderCode="201003100621700";
db= Sql.newInstance( 
		"jdbc:oracle:thin:@127.0.0.1:CRM", 
		"iomcuser", 
		"iomcuser", 
		"oracle.jdbc.driver.OracleDriver") 
println("执行查询语句");
sysdate=db.firstRow ("select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual")
println sysdate[0];
orders=db.query ("select order_code,order_id from cust_order where order_code=$orderCode",{
	while(it.next()){
		println "order_code is "+it.getString("order_code");
		println "order_id is "+it.getString("order_id");
	}
})
println("执行修改类语句");
db.execute ("insert into enum_value values (100115,'93010314','警务E通','0','0','0','1','','-1','','','',null)");


 

import java.sql.*; public class Bc { // 声明数据库地址及驱动 private Connection conn = null; private String url = "jdbc:oracle:thin:@localhost:1521:ORCL"; private String driver = "oracle.jdbc.driver.OracleDriver"; private String user = "www"; private String password = "www"; // 主函数 public static void main(String[] args) { Bc bc = new Bc(); String sql="select * from T_USERS"; String sql1 = "insert into T_USERS values ('rrr','ooo')"; String sql2 ="update T_USERS set USERSPASSWORD = '888888888884444' where USERSNAME= 'www'"; ResultSet rs= bc.select(sql); bc.execute(sql1); bc.execute(sql2); try{ //显示查询出来的结果------------------ ResultSetMetaData rmeta = rs.getMetaData(); //获得数据字段个数 int numColumns = rmeta.getColumnCount(); while(rs.next()) { for(int i = 0;i< numColumns;i++) { String sTemp = rs.getString(i+1); System.out.print(sTemp+" "); } System.out.println(""); } } catch (Exception e) { // TODO: handle exception } } // 创建数据库连接方法 public Connection create() { try { /* 使用Class.forName()方法自动创建这个驱动程序的实例且自动调用DriverManager来注册它 */ Class.forName(driver); /* 通过DriverManager的getConnection()方法获取数据库连接 */ conn = DriverManager.getConnection(url, user, password); } catch (Exception ex) { System.out.println("数据库连接出错"); } return conn; } // 执行查询时用的方法 public ResultSet select(String sql) { Connection c = create();//获取连接对象,可以不声明 ResultSet rs = null; try { Statement st = c.createStatement();// 获取Staetment对象 rs = st.executeQuery(sql);// 执行操作 } catch (Exception e) { System.out.println("查询出错"); } return rs; } // 更新方法 public void execute(String sql) { Connection c = create();//获取连接对象,可以不声明 ResultSet rs = null; try { Statement st = c.createStatement();// 获取Staetment对象 st.executeUpdate(sql); } catch (Exception e) { System.out.println("更新出错"); } } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值