2012-09-06 6 views
6

今日この質問を実行した後:Grails query not using GORM groovy.sql.Sqlを使用するのかJDBCに接続プーリングの利点があるのでしょうか?groovy.sql.SqlまたはJDBCをGrailsで接続プールと準備した文

いくつかの状況で、GORMlessがどのように有益になるのかを見ることができますが、connプーリングがないとオプションとして削除されます。

準備された声明のメリットも得られますか?

答えて

7

一つをチェックし、あなたの方法に同じ接続を使用するには

class MyService { 
    //inject dataSource 
    def dataSource 

    def myMethod() { 
    Sql sql = new Sql(dataSource) 
    sql.execute("insert...") //this will get a connection from the pool 
    sql.close() //this will release the connection back to pool 
    } 
} 

connection pooling.を提供することですDataSource.groovy次に、注入された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 

ます。また、パフォーマンスのSQLオブジェクトにPreparedStatementキャッシュを有効にすることができます。

sql.cacheStatements = true 
6

データソースが接続プーリングを使用するように設定されている場合、groovy sqlにはそのメリットがあります。サービスの例として使用して

:あなたがpooled = trueを設定している場合DataSourceの主な用途のcacheConnection

関連する問題