All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.seasar.extension.jdbc.JdbcContext Maven / Gradle / Ivy

The newest version!
/*
 * Copyright 2004-2015 the Seasar Foundation and the Others.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
 * either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 */
package org.seasar.extension.jdbc;

import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.Statement;

/**
 * {@link JdbcManager}が管理しているトランザクション中の状態を持つインターフェースです。
 * トランザクション外で使われる場合は、SQLの実行後すぐに破棄されます。
 * 
 * @author higa
 * 
 */
public interface JdbcContext {

    /**
     * 状態を破棄します。
     */
    void destroy();

    /**
     * トランザクション中に作成されたかどうかを返します。
     * 
     * @return トランザクション中に作成されたかどうか
     */
    boolean isTransactional();

    /**
     * キャッシュしているステートメントを返します。
     * 
     * @return キャッシュしているステートメント
     */
    Statement getStatement();

    /**
     * キャッシュしている準備されたステートメントを返します。
     * 
     * @param sql
     *            SQL
     * 
     * @return キャッシュしている準備されたステートメント
     */
    PreparedStatement getPreparedStatement(String sql);

    /**
     * 準備されたステートメントを使用します。
     * 

* ステートメントはもしキャッシュにあれば取り出され、なければ新たに作成されます。 ステートメントは使用後にキャッシュに追加されます。 *

* * @param * 戻り値の型 * @param sql * SQL * @param handler * 準備されたステートメントを使用するハンドラ * @return ハンドラの戻り値 */ T usingPreparedStatement(String sql, StatementHandler handler); /** * キャッシュしている準備されたステートメントを返します。 * * @param sql * SQL * @param autoGeneratedKeys * 自動生成キーを返すかどうかを示すフラグ。{@link Statement#RETURN_GENERATED_KEYS}または * {@link Statement#NO_GENERATED_KEYS} * * @return キャッシュしている準備されたステートメント */ PreparedStatement getPreparedStatement(String sql, int autoGeneratedKeys); /** * 準備されたステートメントを使用します。 *

* ステートメントはもしキャッシュにあれば取り出され、なければ新たに作成されます。 ステートメントは使用後にキャッシュに追加されます。 *

* * @param * 戻り値の型 * @param sql * SQL * @param autoGeneratedKeys * 自動生成キーを返すかどうかを示すフラグ。{@link Statement#RETURN_GENERATED_KEYS}または * {@link Statement#NO_GENERATED_KEYS} * @param handler * 準備されたステートメントを使用するハンドラ * @return ハンドラの戻り値 */ T usingPreparedStatement(String sql, int autoGeneratedKeys, StatementHandler handler); /** * キャッシュしているカーソル用の準備されたステートメントを返します。 * * @param sql * SQL * * @return キャッシュしている準備されたステートメント */ PreparedStatement getCursorPreparedStatement(String sql); /** * カーソル用の準備されたステートメントを使用します。 *

* ステートメントはもしキャッシュにあれば取り出され、なければ新たに作成されます。 ステートメントは使用後にキャッシュに追加されます。 *

* * @param * 戻り値の型 * @param sql * SQL * @param handler * 準備されたカーソル用のステートメントを使用するハンドラ * @return ハンドラの戻り値 */ T usingCursorPreparedStatement(String sql, StatementHandler handler); /** * 呼び出し可能なステートメントを返します。 *

* ステートメントはもしキャッシュにあれば取り出され、なければ新たに作成されます。 ステートメントは使用後にキャッシュに追加されます。 *

* * @param sql * SQL * * @return キャッシュしている呼び出し可能なステートメント */ CallableStatement getCallableStatement(String sql); /** * 呼び出し可能なステートメントを使用します。 *

* ステートメントはもしキャッシュにあれば取り出され、なければ新たに作成されます。 ステートメントは使用後にキャッシュに追加されます。 *

* * @param * 戻り値の型 * @param sql * SQL * @param handler * 準備された呼び出し可能なステートメントを使用するハンドラ * @return ハンドラの戻り値 */ T usingCallableStatement(String sql, StatementHandler handler); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy