
jp.co.future.uroborosql.fluent.SqlEntityUpdate Maven / Gradle / Ivy
/**
* Copyright (c) 2017-present, Future Corporation
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
package jp.co.future.uroborosql.fluent;
import java.sql.SQLType;
import java.util.function.Supplier;
/**
* Entity Update 実行インタフェース
*
* @param Entity型
* @author H.Sugimoto
*/
public interface SqlEntityUpdate extends ExtractionCondition> {
/**
* 発行するSQLに付与するSQL_IDを設定する
*
* @param sqlId SQL_ID文字列
* @return SqlEntityUpdate
*/
SqlEntityUpdate sqlId(String sqlId);
/**
* リトライ回数を設定する。 リトライ待機時間は0msが設定される
*
* @param count リトライ回数
* @return SqlEntityUpdate
*/
SqlEntityUpdate retry(int count);
/**
* リトライ回数を設定する
*
* @param count リトライ回数
* @param waitTime リトライ待機時間(ms)
* @return SqlEntityUpdate
*/
SqlEntityUpdate retry(int count, int waitTime);
/**
* 更新結果の取得(終端処理)
*
* @return 更新件数
*/
int count();
/**
* 更新する値の設定.
*
* @param 値の型
* @param col 更新するカラム名(キャメルケース)
* @param value 更新する値
* @return SqlEntityUpdate
*/
SqlEntityUpdate set(final String col, final V value);
/**
* 更新する値の設定.
*
* @param 値の型
* @param col 更新するカラム名(キャメルケース)
* @param supplier 更新する値を提供するSupplier
* @return SqlEntityUpdate
*/
SqlEntityUpdate set(final String col, final Supplier supplier);
/**
* 更新する値の設定.
*
* @param 値の型
* @param col 更新するカラム名(キャメルケース)
* @param value 更新する値
* @param sqlType SQLタイプ
* @return SqlEntityUpdate
*/
SqlEntityUpdate set(final String col, final V value, final int sqlType);
/**
* 更新する値の設定.
*
* @param 値の型
* @param col 更新するカラム名(キャメルケース)
* @param value 更新する値
* @param sqlType SQLタイプ
* @return SqlEntityUpdate
*/
SqlEntityUpdate set(final String col, final V value, final SQLType sqlType);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy