Я создаю глобальное groovy.sql.Sql
соединение с использованием существующего источника данных, показанного в коде ниже:
def checkConnection() {
if (sql == null || sql.getConnection() == null) {
sql = new Sql(dataSource)
}
}
Здесь я вызываю несколько методов для получения разных данных из базы данных, используя это глобальное соединение SQL.
Примечание
Мой код работает нормально, когда я не использую sql.cacheStatements = true
. Но когда я использую sql.cacheStatements = true
, он закрывает мое соединение каждый раз.
Для каждого метода я сначала вызываю checkConnection()
метод.
def getCount() {
checkConnection()
sql.cacheStatements = true
rows = sql.rows("select count(columnName) from tableName where date>= someValue and age>= someValue")
return rows
}
Вопрос: Как я могу использовать концепцию кэширования для своих утверждений, используя соединение groovy.sql.Sql
groovy.