Groovy基本使用(8):数据库处理

Groovy 数据库处理

Groovy 自身提供一套比 JDBC 更加抽象简便的数据库访问 API(该API依赖于JDBC) ,Groovy sql API 支持 Oracle,MySQL,SQL Server,HSQLDB,MongoDB 等主流的数据库访问;

以下以 MySQL 访问为例,演示 Groovy sql API 的基本使用,同样,需要在工程依赖导入 mysql-jdbc 驱动文件  mysql-connector-xxxx-bin;

基本操作

import groovy.sql.Sql

class SQLtest {
    static void main(String[] args){

        //数据库连接
        def connect = Sql.newInstance('jdbc:mysql://127.0.0.1:3306/testDB','root','123','com.mysql.jdbc.Driver');

        //查询操作
        def selectSql = 'select name,city,age from person';
       connect.eachRow(selectSql){
            row ->def name = row.name
                  def age = row.age
                  def city = row.city
                println("${name},${age},${city}");
        }


        //插入,更新,删除操作,这里只演示插入操作
        def insertSql = "insert into person values('assad','Gunagzhou','20')";
        connect.execute(insertSql);

        connect.close();

    }
}
实际上,对于插入、更新、删除操作,一般不会自动提交,而是手动提交事务,并判断回滚条件,如下:

事务操作

class SQLtest {
    static void main(String[] args){
        //数据库连接
        def connect = Sql.newInstance('jdbc:mysql://127.0.0.1:3306/testDB','root','123','com.mysql.jdbc.Driver');
        connect.connection.autoCommit = false;   //关闭事务自动提交

        def insertSql = "insert into person values('assad','Gunagzhou','20')";
        try{
            connect.execute(insertSql);
            connect.commit();     //手动提交事务
        }catch(Exception ex){
            connect.rollback();    //回滚事务
        }finally{
            connect.close();
        }
        
    }
}



你可能感兴趣的:(Groovy,Groovy,基本使用)