今天遇到这个问题后:Grails query not using GORM我想知道使用 groovy.sql.Sql 或 JDBC 是否具有连接池的好处?
我可以看到在某些情况下使用 GORMless 可能是有益的,但缺乏 conn pooling 会消除它作为一种选择。
我们是否也能从准备好的语句中获益?
最佳答案
DataSource
的主要用途之一是提供connection pooling.如果您设置了pooled = true
在 DataSource.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/