`

直接使用groovy的sql来直接进行DB操作

阅读更多
特殊的需求,在GRAILS调用GROOVY SQL直接做数据更新、插入和删除,如何控制原子事务?



比较特殊的处理方案(如果有更好的方案,还请赐教)。

场景:SQL是用DATASOURCE创建的。

描述:因为设置是否自动提交是由CONNECTION处理的,但是直接用dataSource来创建,是没法得到connection的引用,所以必须用如下方式:



        def dbTran  = new groovy.sql.Sql(dataSource)
        def con = dbTran.createConnection()
        def db =  new groovy.sql.Sql(con)

        try{

            con.autoCommit = false

            db.execute("delete from rcbinfo")

            db.insert.........

            con.commit()

        }catch(Exception e){

            con.rollback()

        }finally{

            con.autoCommit = true

        }








import groovy.sql.Sql

class MyFancySqlController {

    def dataSource // the Spring-Bean "dataSource" is auto-injected

    def list = {
        def db = new Sql(dataSource) // Create a new instance of groovy.sql.Sql with the DB of the Grails app

        def result = db.rows("SELECT foo, bar FROM my_view") // Perform the query

        [ result: result ] // return the results as model
    }

}
分享到:
评论

相关推荐

    便捷轻巧的Groovy数据库操作

    在Groovy中,`groovy.sql`包提供了方便的API来执行对数据库的CRUD(创建、读取、更新、删除)操作。本文将深入探讨如何使用Groovy进行数据库交互,以H2内存数据库为例。 首先,我们需要配置数据库连接。在Groovy中...

    android+db2+db2jcc.jar

    在Android环境中,由于安全限制,你可能需要使用`AsyncTask`或其他异步机制来执行数据库操作,避免阻塞UI线程。 ```java String url = "jdbc:db2://your_server:port/your_database"; String user = "your_...

    springboot,db2驱动及引入制作方法

    你可以创建一个`@Repository`注解的接口来使用JPA(Java Persistence API),或者直接使用`JdbcTemplate`或`NamedParameterJdbcTemplate`来执行SQL语句。 例如,使用`JdbcTemplate`执行SQL: ```java import org....

    ormsql使用示例

    本教程将通过一个简单易懂的示例来介绍如何在Android项目中使用ORMSQL进行数据存储和查询。 ### ORM概念 ORM全称为Object-Relational Mapping,即对象关系映射,它是一种技术,用于将关系数据库的数据模型与面向...

    DB2需要的jar

    配置完成后,你就可以在Java代码中使用`java.sql.DriverManager`来建立与DB2的连接,如下所示: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public ...

    andriod开发直接连接mssql数据库

    在Android开发中,直接连接Microsoft SQL Server数据库是一个相对复杂的过程,因为Android系统原生并不支持直接与SQL Server交互。但通过一些技术手段,我们可以实现这一目标。以下是一些关键知识点和步骤: 1. **...

    JDBC连接DB2数据库需要的jar包

    总的来说,理解和正确使用DB2的JDBC驱动对于Java开发者来说至关重要,它确保了Java应用能够高效、稳定地与DB2数据库进行交互。通过合理配置和管理这些JAR文件,可以有效地提升项目的可维护性和兼容性。

    DBSQLite android数据增删改查的方法 以及测试

    本篇文章将详细介绍如何在Android应用中使用DBSQLite进行数据的增删改查操作,并提供相关的测试方法。 首先,我们需要在Android项目中引入SQLite的相关库。通常,我们可以通过在build.gradle文件中添加以下依赖来...

    使用Sqlcipher对sqlite数据库进行加解密

    本文将详细介绍如何在Android应用中使用Sqlcipher对sqlite数据库进行加解密。 首先,你需要在你的项目中集成Sqlcipher库。通常,可以通过Gradle依赖管理来添加Sqlcipher的依赖。在你的app级别的build.gradle文件中...

    通过groovy自定义函数实现提取明细表字段至主表字段.zip

    这个过程可以通过使用Groovy的流式API和闭包来进一步优化,提高代码的可读性和效率。此外,如果数据量巨大,考虑分批处理或者使用存储过程可能会更有效率。 在提供的压缩包"通过groovy自定义函数实现提取明细表字段...

    安卓Android源码——通过jdts.jar连接SQLSEVER2008.zip

    它允许Java程序员使用SQL语言进行数据操作。在Android中,JDBC被用来创建与数据库之间的桥梁,但需要注意的是,由于Android的安全模型,不是所有的JDBC驱动都支持。 jdts.jar是一个开源的JDBC驱动,专为在Java环境...

    Android greenDAO 数据库 简单学习之基本使用

    然后在需要使用的地方注入`DaoSession`,调用对应的方法进行数据库操作。例如,插入用户数据: ```java User user = new User(); user.setName("John Doe"); user.setAge(25); MyApplication app = (MyApplication)...

    GroovySwissKnifeAndroidApp:一个演示实现,展示了如何使用基于Groovy,SwissKnife和Sugar ORM的技术堆栈来提高Android开发生产力

    它允许开发者用类似Java对象的方式来操作数据库,减少了对SQL语句的依赖。通过继承SugarRecord或使用注解,你可以快速地创建模型类,然后直接保存、查询和删除数据。 在这个项目中,开发者可以看到Groovy如何与...

    Android连接MySQL,并进行简单的操作

    在实际应用中,为了提高性能和安全性,建议使用预编译的`PreparedStatement`而非`Statement`来执行SQL语句。这可以防止SQL注入攻击,并允许数据库优化查询。 对于简单的增加操作,你可以调用`executeQuery`方法,...

    Android数据库ORM封装

    ORM(Object-Relational Mapping,对象关系映射)是一种技术,它允许开发者用面向对象的方式来操作数据库,避免了直接编写SQL语句的繁琐过程。本文将详细介绍如何在Android中进行数据库ORM的封装,并通过一个名为`...

    LitePal的使用

    LitePal提供了强大的ORM(Object-Relational Mapping)功能,允许开发者通过简单的Java对象与数据库表进行映射,无需编写SQL语句即可完成数据的增、删、改、查操作。下面我们将详细探讨如何在Android应用中使用LitePal...

    GORM_ADO数据库操作模块.rar

    动态查询允许开发者使用Groovy的闭包来构建复杂的查询条件,而静态查询则提供了更直观的SQL语句转换,便于理解和调试。 4. **事务处理**:在需要保证数据一致性的操作中,事务是非常重要的。GORM_ADO模块通过`with...

    安卓GreenDao使用.rar

    通过使用 GreenDao,开发者可以将 Java 对象直接映射到数据库表,避免了手动编写 SQL 语句,提高了开发效率和代码可读性。 ### 1. 安装与配置 在 Android 项目中使用 GreenDao 首先需要添加其依赖。在 `build....

    Android studio greendao3.0的使用

    在应用中,你可以直接使用生成的DAO类来操作数据库: ```java // 获取DaoSession DaoSession daoSession = getDaoSession(); // 插入用户 User user = new User(); user.setName("John Doe"); user.setAge(25); ...

    GreenDao的基本使用

    在Android应用开发中,使用GreenDao可以极大地提高开发效率,减少对SQL语句的直接操作。 ### 1. 安装与引入 首先,你需要在项目的build.gradle文件中添加GreenDao的依赖。目前最新的版本可以通过Gradle的依赖管理...

Global site tag (gtag.js) - Google Analytics