クラス SqlSelectImpl<T>

  • 型パラメータ:
    T - 処理対象のエンティティの型
    すべての実装されたインタフェース:
    SqlSelect<T>

    public class SqlSelectImpl<T>
    extends Object
    implements SqlSelect<T>
    SQLテンプレートによる抽出を行うクエリの実装です。
    作成者:
    T.TSUCHIE
    • コンストラクタの詳細

      • SqlSelectImpl

        public SqlSelectImpl​(@NonNull
                             @NonNull SqlMapperContext context,
                             @NonNull
                             @NonNull Class<T> baseClass,
                             @NonNull
                             @NonNull com.github.mygreen.splate.SqlTemplate template,
                             @NonNull
                             @NonNull com.github.mygreen.splate.SqlTemplateContext parameter)
    • メソッドの詳細

      • queryTimeout

        public SqlSelectImpl<T> queryTimeout​(int seconds)
        インタフェースからコピーされた説明: SqlSelect
        クエリタイムアウトの秒数を設定します。

        -1 を指定するとJDBC ドライバーのデフォルト値を使用します。

        定義:
        queryTimeout インタフェース内 SqlSelect<T>
        パラメータ:
        seconds - クエリタイムアウトの秒数
        戻り値:
        自身のインスタンス。
      • fetchSize

        public SqlSelectImpl<T> fetchSize​(int fetchSize)
        インタフェースからコピーされた説明: SqlSelect
        フェッチ数を設定します。

        これをデフォルト値よりも高く設定すると、大きな結果セットを処理する際に、メモリ消費を犠牲にして処理速度が向上します。

        -1 を指定するとJDBC ドライバーのデフォルト値を使用します。

        定義:
        fetchSize インタフェース内 SqlSelect<T>
        パラメータ:
        fetchSize - フェッチ数
        戻り値:
        自身のインスタンス。
      • maxRows

        public SqlSelectImpl<T> maxRows​(int maxRows)
        インタフェースからコピーされた説明: SqlSelect
        最大行数を設定します。

        JDBCのStatementレベルで、結果セットのオブジェクトが含むことのできる最大行数を制限します。
        制限値を超えた場合は通知なしの除外されます。

        RDMSでLIMIT句がサポートされていない場合に使用します。

        -1 を指定するとJDBC ドライバーのデフォルト値を使用します。

        定義:
        maxRows インタフェース内 SqlSelect<T>
        パラメータ:
        maxRows - 最大行数
        戻り値:
        自身のインスタンス。
      • limit

        public SqlSelectImpl<T> limit​(int limit)
        インタフェースからコピーされた説明: SqlSelect
        抽出する行数を指定します。
        定義:
        limit インタフェース内 SqlSelect<T>
        パラメータ:
        limit - 行数
        戻り値:
        このインスタンス自身
      • offset

        public SqlSelectImpl<T> offset​(int offset)
        インタフェースからコピーされた説明: SqlSelect
        抽出するデータの開始位置を指定します。
        定義:
        offset インタフェース内 SqlSelect<T>
        パラメータ:
        offset - 開始位置。0から始まります。
        戻り値:
        このインスタンス自身
      • getSingleResult

        public T getSingleResult()
        インタフェースからコピーされた説明: SqlSelect
        検索してベースオブジェクトを返します。
        定義:
        getSingleResult インタフェース内 SqlSelect<T>
        戻り値:
        ベースオブジェクト。
      • getOptionalResult

        public Optional<T> getOptionalResult()
        インタフェースからコピーされた説明: SqlSelect
        検索してベースオブジェクトを返します。
        定義:
        getOptionalResult インタフェース内 SqlSelect<T>
        戻り値:
        ベースオブジェクト。1件も対象がないときは空を返します。
      • getResultList

        public List<T> getResultList()
        インタフェースからコピーされた説明: SqlSelect
        検索してベースオブジェクトを返します。
        定義:
        getResultList インタフェース内 SqlSelect<T>
        戻り値:
        1件も対象がないときは空のリストを返します。
      • getResultStream

        public Stream<T> getResultStream()
        インタフェースからコピーされた説明: SqlSelect
        問い合わせ結果をStream で取得します。 問い合わせ結果全体のリストを作成しないため、問い合わせ結果が膨大になる場合でもメモリ消費量を抑えることが出来ます。
        定義:
        getResultStream インタフェース内 SqlSelect<T>
        戻り値:
        問い合わせの結果。
      • getTemplate

        public com.github.mygreen.splate.SqlTemplate getTemplate()
        SQLテンプレートです。
      • getParameter

        public com.github.mygreen.splate.SqlTemplateContext getParameter()
        SQLテンプレートのパラメータです。
      • getBaseClass

        public Class<T> getBaseClass()
      • getEntityMeta

        public EntityMeta getEntityMeta()
      • getQueryTimeout

        public Integer getQueryTimeout()
      • getFetchSize

        public Integer getFetchSize()
      • getMaxRows

        public Integer getMaxRows()
      • getLimit

        public int getLimit()
        取得するレコード数の上限値です。

        負の値の時は無視します。

      • getOffset

        public int getOffset()
        取得するレコード数の開始位置です。

        負の値の時は無視します。