クラス SqlMapper


  • public class SqlMapper
    extends Object
    JDBCによるSQL実行を管理するクラスです。
    作成者:
    T.TSUCHIE
    • コンストラクタの詳細

    • メソッドの詳細

      • selectFrom

        public <T> AutoSelect<T> selectFrom​(@NonNull
                                            @NonNull EntityPath<T> entityPath)
        SQLを自動生成して抽出します。
        型パラメータ:
        T - 処理対象となるエンティティの型
        パラメータ:
        entityPath - 抽出対象のテーブルのエンティティ情報
        戻り値:
        抽出を行うSQLを自動生成するクエリ
      • insert

        public <T> AutoInsert<T> insert​(@NonNull
                                        T entity)
        SQLを自動生成して挿入します。
        型パラメータ:
        T - 処理対象となるエンティティの型
        パラメータ:
        entity - 挿入対象のテーブルのエンティティのインスタンス
        戻り値:
        挿入を行うSQLを自動生成するクエリ
      • delete

        public <T> AutoDelete<T> delete​(@NonNull
                                        T entity)
        SQLを自動生成して削除します。
        型パラメータ:
        T - 処理対象となるエンティティの型
        パラメータ:
        entity - 削除対象のテーブルのエンティティのインスタンス
        戻り値:
        削除を行うSQLを自動生成するクエリ
      • update

        public <T> AutoUpdate<T> update​(@NonNull
                                        T entity)
        SQLを自動生成して更新します。
        型パラメータ:
        T - 処理対象となるエンティティの型
        パラメータ:
        entity - エンティティのインスタンス
        戻り値:
        更新を行うSQLを自動生成するクエリ
      • deleteFrom

        public <T> AutoAnyDelete<T> deleteFrom​(@NonNull
                                               @NonNull EntityPath<T> entityPath)
        任意の条件を指定して、SQLを自動生成して削除します。
        型パラメータ:
        T - 処理対象となるエンティティの型
        パラメータ:
        entityPath - 削除対象のテーブルのエンティティ情報
        戻り値:
        任意の条件をして削除を行うSQLを自動生成するクエリ
      • insertBatch

        public <T> AutoBatchInsert<T> insertBatch​(T... entities)
        SQLを自動生成してバッチ挿入します。

        主キーが識別子(IDENTITY)による自動生成の場合は、バッチ実行ではなく1件ずつ処理されるので注意してください。

        型パラメータ:
        T - 処理対象となるエンティティの型
        パラメータ:
        entities - バッチ挿入対象のテーブルのエンティティのインスタンス
        戻り値:
        バッチ挿入を行うSQLを自動生成するクエリ
        例外:
        IllegalOperateException - 引数で指定したエンティティの並びが空のときにスローされます。
      • insertBatch

        public <T> AutoBatchInsert<T> insertBatch​(List<T> entities)
        SQLを自動生成してバッチ挿入します。

        主キーが識別子(IDENTITY)による自動生成の場合は、バッチ実行ではなく1件ずつ処理されるので注意してください。

        型パラメータ:
        T - 処理対象となるエンティティの型
        パラメータ:
        entities - バッチ挿入対象のテーブルのエンティティのインスタンス
        戻り値:
        バッチ挿入を行うSQLを自動生成するクエリ
        例外:
        IllegalOperateException - 引数で指定したエンティティの並びが空のときにスローされます。
      • updateBatch

        public <T> AutoBatchUpdate<T> updateBatch​(T... entities)
        SQLを自動生成してバッチ更新します。
        型パラメータ:
        T - 処理対象となるエンティティの型
        パラメータ:
        entities - バッチ更新対象のテーブルのエンティティのインスタンス
        戻り値:
        バッチ更新を行うSQLを自動生成するクエリ
        例外:
        IllegalOperateException - 引数で指定したエンティティの並びが空のときにスローされます。
      • updateBatch

        public <T> AutoBatchUpdate<T> updateBatch​(List<T> entities)
        SQLを自動生成してバッチ更新します。
        型パラメータ:
        T - 処理対象となるエンティティの型
        パラメータ:
        entities - バッチ更新対象のテーブルのエンティティのインスタンス
        戻り値:
        バッチ更新を行うSQLを自動生成するクエリ
        例外:
        IllegalOperateException - 引数で指定したエンティティの並びが空のときにスローされます。
      • deleteBatch

        public <T> AutoBatchUpdate<T> deleteBatch​(T... entities)
        SQLを自動生成してバッチ削除します。
        型パラメータ:
        T - 処理対象となるエンティティの型
        パラメータ:
        entities - バッチ削除対象のテーブルのエンティティのインスタンス
        戻り値:
        バッチ削除を行うSQLを自動生成するクエリ
        例外:
        IllegalOperateException - 引数で指定したエンティティの並びが空のときにスローされます。
      • deleteBatch

        public <T> AutoBatchUpdate<T> deleteBatch​(Collection<T> entities)
        SQLを自動生成してバッチ削除します。
        型パラメータ:
        T - 処理対象となるエンティティの型
        パラメータ:
        entities - バッチ削除対象のテーブルのエンティティのインスタンス
        戻り値:
        バッチ削除を行うSQLを自動生成するクエリ
        例外:
        IllegalOperateException - 引数で指定したエンティティの並びが空のときにスローされます。
      • selectBySqlFile

        public <T> SqlSelect<T> selectBySqlFile​(@NonNull
                                                @NonNull Class<T> baseClass,
                                                @NonNull
                                                @NonNull String path)
        SQLテンプレートファイルを指定して抽出します。
        型パラメータ:
        T - 処理対象となるエンティティの型
        パラメータ:
        baseClass - エンティティのクラス
        path - SQLテンプレートのファイルパス。
        戻り値:
        SQLテンプレートによる抽出を行うクエリ
      • selectBySqlFile

        public <T> SqlSelect<T> selectBySqlFile​(@NonNull
                                                @NonNull Class<T> baseClass,
                                                @NonNull
                                                @NonNull String path,
                                                @NonNull
                                                @NonNull com.github.mygreen.splate.SqlTemplateContext parameter)
        SQLテンプレートファイルを指定して抽出します。
        型パラメータ:
        T - 処理対象となるエンティティの型
        パラメータ:
        baseClass - エンティティのクラス
        path - SQLテンプレートのファイルパス。
        parameter - SQLテンプレートのパラメータ
        戻り値:
        SQLテンプレートによる抽出を行うクエリ
      • getCountBySqlFile

        public long getCountBySqlFile​(@NonNull
                                      @NonNull String path)
        SQLテンプレートファイルを指定して件数のカウントを取得します。
        パラメータ:
        path - SQLテンプレートのファイルパス。
        戻り値:
        カウント結果
      • getCountBySqlFile

        public long getCountBySqlFile​(@NonNull
                                      @NonNull String path,
                                      @NonNull
                                      @NonNull com.github.mygreen.splate.SqlTemplateContext parameter)
        SQLテンプレートファイルを指定して件数のカウントを取得します。
        パラメータ:
        path - SQLテンプレートのファイルパス。
        parameter - SQLテンプレートのパラメータ
        戻り値:
        カウント結果
      • updateBySqlFile

        public SqlUpdate updateBySqlFile​(@NonNull
                                         @NonNull String path)
        SQLテンプレートファイルを指定して更新(INSERT / UPDATE/ DELETE)を行います。
        パラメータ:
        path - SQLテンプレートのファイルパス。
        戻り値:
        SQLテンプレートによる更新を行うクエリ
      • updateBySqlFile

        public SqlUpdate updateBySqlFile​(@NonNull
                                         @NonNull String path,
                                         @NonNull
                                         @NonNull com.github.mygreen.splate.SqlTemplateContext parameter)
        SQLテンプレートファイルを指定して更新(INSERT / UPDATE/ DELETE)を行います。
        パラメータ:
        path - SQLテンプレートのファイルパス。
        parameter - SQLテンプレートのパラメータ
        戻り値:
        SQLテンプレートによる更新を行うクエリ
      • selectBySql

        public <T> SqlSelect<T> selectBySql​(@NonNull
                                            @NonNull Class<T> baseClass,
                                            @NonNull
                                            @NonNull String sql)
        SQLテンプレートを指定して抽出します。
        型パラメータ:
        T - 処理対象となるエンティティの型
        パラメータ:
        baseClass - エンティティのクラス
        sql - SQLテンプレート
        戻り値:
        SQLテンプレートによる抽出を行うクエリ
      • selectBySql

        public <T> SqlSelect<T> selectBySql​(@NonNull
                                            @NonNull Class<T> baseClass,
                                            @NonNull
                                            @NonNull String sql,
                                            @NonNull
                                            @NonNull com.github.mygreen.splate.SqlTemplateContext parameter)
        SQLテンプレートを指定して抽出します。
        型パラメータ:
        T - 処理対象となるエンティティの型
        パラメータ:
        baseClass - エンティティのクラス
        sql - SQLテンプレート
        parameter - SQLテンプレートのパラメータ
        戻り値:
        SQLテンプレートによる抽出を行うクエリ
      • getCountBySql

        public long getCountBySql​(@NonNull
                                  @NonNull String sql)
        SQLテンプレートを指定して件数のカウントを取得します。
        パラメータ:
        sql - SQLテンプレート
        戻り値:
        カウント結果
      • getCountBySql

        public long getCountBySql​(@NonNull
                                  @NonNull String sql,
                                  @NonNull
                                  @NonNull com.github.mygreen.splate.SqlTemplateContext parameter)
        SQLテンプレートを指定して件数のカウントを取得します。
        パラメータ:
        sql - SQLテンプレート
        parameter - SQLテンプレートのパラメータ
        戻り値:
        カウント結果
      • updateBySql

        public SqlUpdate updateBySql​(@NonNull
                                     @NonNull String sql)
        SQLテンプレートを指定して更新(INSERT / UPDATE/ DELETE)を行います。
        パラメータ:
        sql - SQLテンプレート
        戻り値:
        SQLテンプレートによる更新を行うクエリ
      • updateBySql

        public SqlUpdate updateBySql​(@NonNull
                                     @NonNull String sql,
                                     @NonNull
                                     @NonNull com.github.mygreen.splate.SqlTemplateContext parameter)
        SQLテンプレートを指定して更新(INSERT / UPDATE/ DELETE)を行います。
        パラメータ:
        sql - SQLテンプレート
        parameter - SQLテンプレートのパラメータ
        戻り値:
        SQLテンプレートによる更新を行うクエリ