sql - 在 Grails 中使用 groovy.sql.Sql 或 JDBC 进行连接池和准备好的语句

标签 sql grails jdbc groovy

今天遇到这个问题后:Grails query not using GORM我想知道使用 groovy.sql.Sql 或 JDBC 是否具有连接池的好处?

我可以看到在某些情况下使用 GORMless 可能是有益的,但缺乏 conn pooling 会消除它作为一种选择。

我们是否也能从准备好的语句中获益?

最佳答案

DataSource 的主要用途之一是提供connection pooling.如果您设置了pooled = trueDataSource.groovy那么当您执行查询时,注入(inject)的 dataSource 将为您提供来自池的连接。

Groovy SQL 还提供使用预准备语句的查询:

def sql = new Sql(dataSource)
def params = [10, 'Groovy', 'http://groovy.codehaus.org']
sql.execute 'insert into PROJECT (id, name, url) values (?, ?, ?)', params

您也可以启用PreparedStatement在 Sql 对象上缓存以提高性能:
sql.cacheStatements = true

关于sql - 在 Grails 中使用 groovy.sql.Sql 或 JDBC 进行连接池和准备好的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12291930/

相关文章:

oracle - 将 micronaut-data 与 JDBC 结合使用时如何获取数据库序列值

php - 如何连接两个具有不同字符串的大表

sql - CTE 在 CASE EXIST 中返回错误值

sql - 计算Teradata中2个日期之间的时间差

java - 我必须使用 java 查询 MS SQL DB

java - 使用 jdbc 语句创建和选择语句

mysql - 在执行之前编辑查询子句(SQL 解决方案)

Grails 2 应用程序无法在 JBOSS 上部署 : BeanCreationException

java - 在 Groovy 中计算一个人的详细年龄?

grails - Grails 3 + Springboot依赖项