public interface

DbConnectionManager

com.atlassian.jira.database.DbConnectionManager
Known Indirect Subclasses

Class Overview

Provides access to database connections from the Database Connection Pool.

Summary

Public Methods
void execute(SqlCallback callback)
Executes SQL statements as defined in the callback function.
<T> T executeQuery(QueryCallback<T> callback)
Executes SQL statements as defined in the callback function and returns the results.
@Nonnull SQLTemplates getDialect()
This will return a DB dialect as appropriate for usage with Querydsl.

Public Methods

public void execute (SqlCallback callback)

Executes SQL statements as defined in the callback function.

This method does not return results and is mostly useful for running INSERT, UPDATE, and DELETE operations.

Example Usage:

     dbConnectionManager.execute(new SqlCallback()
     {
         public void run(final DbConnection dbConnection)
         {
             dbConnection.update(QIssueLink.ISSUE_LINK)
                     .set(QIssueLink.ISSUE_LINK.linktype, issueLinkType.getId())
                     .where(QIssueLink.ISSUE_LINK.id.eq(issueLink.getId()))
                     .execute();
         }
     });
 

Even if OfBiz is currently running in a ThreadLocal transaction, this will retrieve a fresh connection from the pool. Do not close the given connection - this manager will return it to the pool after the method is complete. If the Callback function throws a RuntimeException and the connection is not in auto-commit mode, then this method will perform a rollback on the connection.

The connection will have the default auto-commit value as defined by the JIRA connection pool. As at JIRA 6.4 this means autocommit == true. See org.apache.commons.dbcp.PoolableConnectionFactory#activateObject(Object) for details.

Parameters
callback the callback function that runs the query

public T executeQuery (QueryCallback<T> callback)

Executes SQL statements as defined in the callback function and returns the results.

This method is mostly useful for running SELECT statements and returning the given results in some form.

Even if OfBiz is currently running in a ThreadLocal transaction, this will retrieve a fresh connection from the pool. Do not close the given connection - this manager will return it to the pool after the method is complete. If the Callback function throws a RuntimeException and the connection is not in auto-commit mode, then this method will perform a rollback on the connection.

The connection will have the default auto-commit value as defined by the JIRA connection pool. As at JIRA 6.4 this means autocommit == true. See org.apache.commons.dbcp.PoolableConnectionFactory#activateObject(Object) for details.

Parameters
callback the callback function that runs the query
Returns
  • results of the callback function

@Nonnull public SQLTemplates getDialect ()

This will return a DB dialect as appropriate for usage with Querydsl.

Returns
  • a DB dialect as appropriate for usage with Querydsl.