Package nablarch.common.dao
Class StandardSqlBuilder
java.lang.Object
nablarch.common.dao.StandardSqlBuilder
ユニバーサルDAOで使用するSQL文を構築するクラス。
生成するSQL文は以下のとおり。
- ID列を条件としたSELECT文
- 条件なしのSELECT文
- ID列を条件としたUPDATE文(バージョンカラムがある場合はそのカラムも条件に含まれる)
- ID列を条件としたDELETE文
- 全カラムを対象としたINSERT文(IDENTITYカラムはサポートしない)
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionbuildBatchDeleteSql
(Class<T> entityClass) ID列を条件とした一括削除用(batch delete)のSQL文を構築する。buildBatchInsertSql
(Class<T> entityClass) 一括登録用(batch insert用)のSQLを構築する。buildBatchInsertWithIdentityColumnSql
(Class<T> entityClass) 一括登録用(batch insert用)のSQLを構築する。buildBatchUpdateSql
(Class<T> entityClass) ID列を条件とした一括更新用(batch update)のSQL文を構築する。<T> SqlWithParams
buildDeleteSql
(T entity) ID列を条件とした削除用のSQL文を構築する。protected <T> String
buildIdCondition
(Class<T> entityClass) ID列を条件とするWHERE句を構築する。<T> SqlWithParams
buildInsertSql
(T entity) 登録用のSQLを構築する。<T> SqlWithParams
buildInsertWithIdentityColumnSql
(T entity) 登録用のSQLを構築する。<T> String
buildSelectAllSql
(Class<T> entityClass) 全レコード検索(条件なし)のSQL文を構築する。<T> String
buildSelectByIdSql
(Class<T> entityClass) ID列を条件として全カラムの情報を取得するSQL文を構築する。<T> SqlWithParams
buildUpdateSql
(T entity) ID列を条件とした更新用のSQL文を構築する。protected <T> String
toTableName
(Class<T> entityClass) エンティティクラス名からテーブル名(スキーマ名つき)へ変換する。
-
Constructor Details
-
StandardSqlBuilder
public StandardSqlBuilder()
-
-
Method Details
-
buildSelectByIdSql
ID列を条件として全カラムの情報を取得するSQL文を構築する。- Type Parameters:
T
- 型パラメータ- Parameters:
entityClass
- エンティティクラス- Returns:
- ID列を条件としたSQL文
-
buildSelectAllSql
全レコード検索(条件なし)のSQL文を構築する。- Type Parameters:
T
- 型パラメータ- Parameters:
entityClass
- エンティティクラス- Returns:
- 条件なしのSELECT文
-
buildUpdateSql
ID列を条件とした更新用のSQL文を構築する。- Type Parameters:
T
- 型- Parameters:
entity
- エンティティ情報- Returns:
- 更新用のSQL文
-
buildBatchUpdateSql
ID列を条件とした一括更新用(batch update)のSQL文を構築する。- Type Parameters:
T
- 型- Parameters:
entityClass
- エンティティクラス- Returns:
- 更新用のSQL文
-
buildDeleteSql
ID列を条件とした削除用のSQL文を構築する。- Type Parameters:
T
- 型- Parameters:
entity
- エンティティ- Returns:
- 削除用SQL文
-
buildBatchDeleteSql
ID列を条件とした一括削除用(batch delete)のSQL文を構築する。- Type Parameters:
T
- エンティティクラス- Parameters:
entityClass
- エンティティクラス- Returns:
- 一括削除用SQL文
-
buildInsertSql
登録用のSQLを構築する。 採番カラムも含む全てのカラムを対象としたデータ登録用INSERT文を構築する。 構築したINSERT文を使用する場合には、採番されるカラムの値は事前に採番し、 Entityクラスに対して値を設定する必要がある。- Type Parameters:
T
- エンティティクラス- Parameters:
entity
- エンティティ- Returns:
- 構築したSQL
-
buildInsertWithIdentityColumnSql
登録用のSQLを構築する。 データベース側での採番(MySqlのAUTO_INCREMENTやPostgreSqlのSERIALカラムなど)を行うための データ登録用INSERT文を生成する。 構築したINSERT文を使用する場合には、データベースへのデータ登録時に値が採番されるため、 データ登録後にデータベースから採番された値を取得する必要がある。- Type Parameters:
T
- 型- Parameters:
entity
- エンティティ- Returns:
- 構築したSQL
-
buildBatchInsertSql
一括登録用(batch insert用)のSQLを構築する。 採番カラムも含む全てのカラムを対象としたデータ登録用INSERT文を構築する。 構築したINSERT文を使用する場合には、採番されるカラムの値は事前に採番し、 Entityクラスに対して値を設定する必要がある。- Type Parameters:
T
- エンティティクラス- Parameters:
entityClass
- エンティティクラス- Returns:
- 構築したSQL
-
buildBatchInsertWithIdentityColumnSql
一括登録用(batch insert用)のSQLを構築する。 データベース側での採番(MySqlのAUTO_INCREMENTやPostgreSqlのSERIALカラムなど)を行うための データ登録用INSERT文を生成する。 構築したINSERT文を使用する場合には、データベースへのデータ登録時に値が採番されるため、 データ登録後にデータベースから採番された値を取得する必要がある。- Type Parameters:
T
- エンティティクラス- Parameters:
entityClass
- エンティティクラス- Returns:
- 構築したSQL
-
buildIdCondition
ID列を条件とするWHERE句を構築する。- Type Parameters:
T
- 型パラメータ- Parameters:
entityClass
- エンティティクラス- Returns:
- ID列を条件としたWHERE句
-
toTableName
エンティティクラス名からテーブル名(スキーマ名つき)へ変換する。- Type Parameters:
T
- エンティティクラス- Parameters:
entityClass
- エンティティクラス- Returns:
- スキーマ名を修飾子に指定したテーブル名(スキーマ名指定がない場合は、テーブル名のみ)
-