クラス QueryBuilder
- java.lang.Object
-
- net.skuratani.simpleorm4j.builder.QueryBuilder
-
public class QueryBuilder extends java.lang.Object
クエリ生成クラス
Criteriaインスタンスからデータベースに発行するクエリを生成する処理を担当するクラスです。 エンティティマネージャは本クラスに実装されたメソッドを使用して以下の情報を生成し、 クエリインスタンスを生成します。 1. クエリ種別 2. SQL文 3. マッピングエンティティクラス 4. データベース接続
-
-
フィールドの概要
フィールド 修飾子とタイプ フィールド 説明 protected Criteria
_criteria
Criteriaインスタンスprotected QueryType
_queryType
クエリ種別
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 QueryBuilder()
コンストラクタQueryBuilder(Criteria criteria)
コンストラクタ
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 protected java.lang.String
createGroupByExpression()
グルーピング条件生成protected java.lang.String
createHavingExpression()
集約検索条件生成protected java.lang.String
createInsertColumns()
登録カラム生成protected java.lang.String
createInsertValues()
登録値生成protected java.lang.String
createJoinExpression()
結合条件生成protected java.lang.String
createOrderByExpression()
ソート条件生成protected java.lang.String
createSelectColumn()
検索するカラムリストを生成java.lang.String
createSql()
SQL文生成protected java.lang.String
createUpdateExpression()
更新式生成protected java.lang.String
createWhereExpression()
検索条件生成protected java.lang.String
generateDeleteQuery()
DELETE文生成protected java.lang.String
generateInsertQuery()
INSERT文生成protected java.lang.String
generateSelectQuery()
SELECT文生成protected java.lang.String
generateUpdateQuery()
UPDATE文生成protected java.lang.String
getColumns(java.util.List<?> selectList)
検索カラムリストを取得protected java.lang.String
getColumnsInClass(java.lang.Class<?> clazz)
エンティティクラスから検索カラムリストを取得protected java.lang.String
getDeleteTable()
削除テーブル取得protected java.lang.String
getFromTable()
検索テーブル名取得protected java.lang.String
getInsertTable()
登録テーブル取得protected java.lang.String
getUpdateTable()
更新テーブル取得protected boolean
isFieldAll(java.util.List<?> selectList)
検索指定が全てフィールドか判定protected boolean
isSameEntity(java.util.List<?> selectList)
検索指定の全てフィールドか同じエンティティか判定java.lang.Class<?>
judgeEntityClass()
エンティティクラス判定QueryType
judgeQueryType()
クエリ種別判定QueryType
judgeQueryType(java.lang.String sql)
クエリ種別判定
-
-
-
コンストラクタの詳細
-
QueryBuilder
public QueryBuilder()
コンストラクタ
-
QueryBuilder
public QueryBuilder(Criteria criteria)
コンストラクタ
- パラメータ:
criteria
- Criteriaインスタンス
-
-
メソッドの詳細
-
judgeQueryType
public QueryType judgeQueryType()
クエリ種別判定
Criteriaのクエリ情報からクエリ種別(SELECT・INSERT・UPDATE・DELETE)を判定する。
- 戻り値:
- クエリ種別
-
judgeQueryType
public QueryType judgeQueryType(java.lang.String sql)
クエリ種別判定
SQL文からクエリ種別(SELECT・INSERT・UPDATE・DELETE)を判定する。
- パラメータ:
sql
- SQL文- 戻り値:
- クエリ種別
-
createSql
public java.lang.String createSql()
SQL文生成
Criteriaのクエリ情報からデータベースに発行するSQL文を生成する。
- 戻り値:
- SQL文
-
judgeEntityClass
public java.lang.Class<?> judgeEntityClass()
エンティティクラス判定
Criteriaのクエリ情報から、ROWデータをマッピングするエンティティクラスを判定する。
- 戻り値:
- ROWデータをマッピングするエンティティクラス
-
isFieldAll
protected boolean isFieldAll(java.util.List<?> selectList)
検索指定が全てフィールドか判定
Criteria.select(Object...)
で指定された検索カラムが全てフィールドかを判定する。- パラメータ:
selectList
- 指定検索カラムリスト- 戻り値:
- boolean true : 全てフィールド false : 上記以外
-
isSameEntity
protected boolean isSameEntity(java.util.List<?> selectList)
検索指定の全てフィールドか同じエンティティか判定
Criteria.select(Object...)
で指定された検索カラムが全て同じエンティティクラスのフィールドかを判定する。- パラメータ:
selectList
- 指定検索カラムリスト- 戻り値:
- boolean true : 全て同じエンティティクラス false : 上記以外
-
generateSelectQuery
protected java.lang.String generateSelectQuery()
SELECT文生成
クエリ種別がSELECTの場合に、Criteriaのクエリ情報から発行するSELECT文を生成する。
- 戻り値:
- SELECT文
-
createSelectColumn
protected java.lang.String createSelectColumn()
検索するカラムリストを生成
Criteriaのクエリ情報(SELECTリスト)から、検索するカラムリストを生成する。
- 戻り値:
- 検索するカラムリスト
-
getColumns
protected java.lang.String getColumns(java.util.List<?> selectList)
検索カラムリストを取得
Criteria.select(Object...)
で指定された検索カラムから、検索カラムリストを取得する。 指定する検索カラムは以下のクラスのみ許可される。 1. java.lang.reflect.Field 2. net.skuratani.simpleorm4j.expression.Expression ※ 直接SQL上のカラムを文字列で指定した場合は、空指定に変換される。- パラメータ:
selectList
- 指定された検索カラムリスト- 戻り値:
- 検索カラムリスト
-
getColumnsInClass
protected java.lang.String getColumnsInClass(java.lang.Class<?> clazz)
エンティティクラスから検索カラムリストを取得
CriteriaのSELECTリスト情報に設定されたエンティティクラスから、検索カラムリストを取得する。
- パラメータ:
clazz
- エンティティクラス- 戻り値:
- エンティティクラスから抽出した検索カラムリスト
-
getFromTable
protected java.lang.String getFromTable()
検索テーブル名取得
Criteriaのクエリ情報から、検索テーブル名を取得する。
- 戻り値:
- 検索テーブル名
-
createJoinExpression
protected java.lang.String createJoinExpression()
結合条件生成
Criteriaのクエリ情報から、テーブル結合条件式を生成する。
- 戻り値:
- 検索条件式
-
createWhereExpression
protected java.lang.String createWhereExpression()
検索条件生成
Criteriaのクエリ情報から、検索条件式を生成する。
- 戻り値:
- 検索条件式
-
createGroupByExpression
protected java.lang.String createGroupByExpression()
グルーピング条件生成
Criteriaのクエリ情報から、グルーピング条件式を生成する。
- 戻り値:
- グルーピング条件式
-
createHavingExpression
protected java.lang.String createHavingExpression()
集約検索条件生成
Criteriaのクエリ情報から、集約検索条件式を生成する。
- 戻り値:
- 検索条件式
-
createOrderByExpression
protected java.lang.String createOrderByExpression()
ソート条件生成
Criteriaのクエリ情報から、ソート条件式を生成する。
- 戻り値:
- ソート条件式
-
generateInsertQuery
protected java.lang.String generateInsertQuery()
INSERT文生成
クエリ種別がINSERTの場合に、Criteriaのクエリ情報から発行するINSERT文を生成する。
- 戻り値:
- INSERT文
-
getInsertTable
protected java.lang.String getInsertTable()
登録テーブル取得
Criteriaのクエリ情報から、登録テーブルを取得する。
- 戻り値:
- 検索テーブル名
-
createInsertColumns
protected java.lang.String createInsertColumns()
登録カラム生成
Criteriaのクエリ情報から、登録カラムを生成する。
- 戻り値:
- 登録カラム
-
createInsertValues
protected java.lang.String createInsertValues()
登録値生成
Criteriaのクエリ情報から、登録値を生成する。
- 戻り値:
- 登録値
-
generateUpdateQuery
protected java.lang.String generateUpdateQuery()
UPDATE文生成
クエリ種別がUPDATEの場合に、Criteriaのクエリ情報から発行するUPDATE文を生成する。
- 戻り値:
- UPDATE文
-
getUpdateTable
protected java.lang.String getUpdateTable()
更新テーブル取得
Criteriaのクエリ情報から、更新テーブルを取得する。
- 戻り値:
- 検索テーブル名
-
createUpdateExpression
protected java.lang.String createUpdateExpression()
更新式生成
Criteriaのクエリ情報から、更新式を生成する。
- 戻り値:
- 更新式
-
generateDeleteQuery
protected java.lang.String generateDeleteQuery()
DELETE文生成
クエリ種別がDELETEの場合に、Criteriaのクエリ情報から発行するDELETE文を生成する。
- 戻り値:
- UPDATE文
-
getDeleteTable
protected java.lang.String getDeleteTable()
削除テーブル取得
Criteriaのクエリ情報から、削除テーブルを取得する。
- 戻り値:
- 検索テーブル名
-
-