jp.littlesoft.sql
クラス SQL<T extends Serializable>

java.lang.Object
  上位を拡張 jp.littlesoft.sql.SQL<T>
すべての実装されたインタフェース:
Serializable

public class SQL<T extends Serializable>
extends Object
implements Serializable

関連項目:
直列化された形式

入れ子のクラスの概要
static class SQL.BindParameter
          バインドパラメータクラス
static class SQL.Comparer<Q,T>
          比較演算子を表現するクラス.
static class SQL.Condition<Q>
          条件式を表現するクラス.
static class SQL.Delete
          UPDATE文を構築するオブジェクト
static class SQL.DynamicCondition<Q>
           
static class SQL.Expression
          SQL内の式を表現するクラス.
static class SQL.Insert
          INSERT文を構築するオブジェクト
static class SQL.Join
          SQLのJOINを表現するクラス
static class SQL.NestedJoin
           
static class SQL.Query
          SQLクエリー基底クラス
static class SQL.Remote
           
static class SQL.Select
          SELECT文を構築するためクラス.
static class SQL.Token
           
static class SQL.UnionType
           
static class SQL.Update
          UPDATE文を構築するオブジェクト
 
フィールドの概要
 T $$
          このSQLのターゲットエンティティのダミーオブジェクト.
 T params
          このSQLのターゲットエンティティのパラメータオブジェクト.
 
コンストラクタの概要
SQL(T... e)
          コンストラクタ SQLターゲットエンティティのクラスをパラメータで指定します.
SQL(WebSQLTable<T> table, T... e)
           
 
メソッドの概要
 SQL.Expression $(Serializable source)
          SQL式を開始します.
 SQL.BindParameter $bindParam(String name)
          バインドパラメータを作成します.
 SQL.Comparer $evaluateNonNulls(Serializable value)
          実行時パラメータがNOT NULLであれば評価される条件式を開始します.
 SQL.Condition $evaluateNonNulls(SQL.Condition nestedCondition)
          実行時パラメータがNOT NULLであれば評価される条件式を開始します.
 SQL.Comparer $if(Serializable value)
          条件式を開始します.
 SQL.Condition $if(SQL.Condition nestedCondition)
          条件式を開始します.
 SQL.Comparer $not(Serializable value)
          NOT ( A ?
 SQL.Condition $not(SQL.Condition nestedCondition)
          NOT( nestedCondition )条件式を開始します.
<E extends Serializable>
E
$useDummy(Class<? extends E> type)
          ダミーエンティティオブジェクトを作成します。.
<E extends Serializable>
E
$useDummy(Class<? extends E> type, String alias)
          ダミーエンティティオブジェクトを作成します。.
 void $useRemote(ITableDef entity, String remoteId)
           
<E extends Serializable>
E
$useRemoteDummy(Class<? extends E> type, String remoteId)
          リモートデータベースに接続するダミーエンティティオブジェクトを作成します。.
static String camelToUnderscore(String name, boolean changeAllCharToUpperCase)
          駱駝スタイルのnameをアンダースコア区切りに変換する.
 void clearParams()
          SQLのパラメータをの値をすべてクリアします.
static
<Q,T> SQL.Comparer<Q,T>
createComparer(SQL.Query query, SQL.Token previous, Class<? extends Q> quertType, Class<? extends T> dataType)
           
 SQL.Delete delete()
          DELETEオブジェクトを作成します。.
 SQL.Delete delete(Serializable entity)
          DELETEオブジェクトを作成します。.
 List<T> execute(Connection conn)
          SELECTを実行し、結果リストを返します.
 int execute(Connection conn, boolean pendingCommit, boolean reuseStatement)
          SELECT以外のSQLを実行します.
 Table<T> getActiveTable(Connection conn)
          SELECTを実行し、テーブルオブジェクトを返します.
 ITableDef.MetaData getMetaData(Serializable dummyEntity)
           
 Params<T> getParams()
          SQLのパラメータを取得します.
 ISQLDataProvider getProvider(Connection conn)
          コネクションをもとに適切なデータプロバイダーのインスタンスを生成する.
 ISQLDataResolver getResolver(Connection conn)
          コネクションをもとに適切なデータリゾルバーのインスタンスを生成する.
 String getSQL()
           
 SQL.Insert insert()
          UPDATEオブジェクトを作成します。.
 SQL.Insert insert(Serializable entity)
          UPDATEオブジェクトを作成します。.
 void resetAll()
          このSQLオブジェクトで生成された内容をすべてリセットします.
 void resetDynamicCondtions()
          設定済のダイナミック条件式を全てクリアします。
 SQL.Select select(Serializable... columns)
          SELECTオブジェクトを作成します。.
 void selectCopyToTable(Connection selectConn, WebSQLTable<?> targetTable, Connection insertConn)
          SELECTを実行し、結果リストを指定したTableへ格納します。
 void setDynamicCondtion(String key, SQL.Condition condition)
          キーを指定してダイナミック条件式を設定します.
 void setParams(Params<T> param)
          SQLのパラメータを外部から設定します.
 void setRemoteConnection(String id, Connection connection)
           
 String toString()
          SQLとパラメータ内容を文字列として取得します.
static String underscoreToCamel(String name, boolean changeInitialCharToUpperCase)
          アンダースコア区切りのnameを駱駝スタイルに変換する.
 SQL.Update update()
          UPDATEオブジェクトを作成します。.
 SQL.Update update(Serializable entity)
          UPDATEオブジェクトを作成します。.
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

$$

public T extends Serializable $$
このSQLのターゲットエンティティのダミーオブジェクト.
SQL文を作成する際使用します.


params

public T extends Serializable params
このSQLのターゲットエンティティのパラメータオブジェクト.
this.getParams().entity または this.getParams().getEntity()と同じオブジェクトです.

コンストラクタの詳細

SQL

public SQL(T... e)
コンストラクタ SQLターゲットエンティティのクラスをパラメータで指定します.
SQL<Test> test = new SQL<Test>();

パラメータ:
e -

SQL

public SQL(WebSQLTable<T> table,
           T... e)
メソッドの詳細

setRemoteConnection

public void setRemoteConnection(String id,
                                Connection connection)

setParams

public void setParams(Params<T> param)
SQLのパラメータを外部から設定します.

パラメータ:
param -

getParams

public Params<T> getParams()
SQLのパラメータを取得します.

戻り値:
Params

getSQL

public String getSQL()

clearParams

public void clearParams()
SQLのパラメータをの値をすべてクリアします.


resetAll

public void resetAll()
このSQLオブジェクトで生成された内容をすべてリセットします.
ひとつのSQLオブジェクトをselect,delete,insert,updateメソッドで再利用する場合はresetAllで初期化する必要があります。


getMetaData

public ITableDef.MetaData getMetaData(Serializable dummyEntity)

execute

public int execute(Connection conn,
                   boolean pendingCommit,
                   boolean reuseStatement)
            throws DataException
SELECT以外のSQLを実行します.

パラメータ:
conn - JDBCコネクション
pendingCommit - true:コミットを保留する。(AutoCommitしない)
reuseStatement - true:JDBCのステートメントを再利用する
例外:
DataException

execute

public List<T> execute(Connection conn)
                                     throws DataException
SELECTを実行し、結果リストを返します.

パラメータ:
conn - JDBCコネクション
戻り値:
List 結果エンティティのリスト
例外:
DataException

getActiveTable

public Table<T> getActiveTable(Connection conn)
                                             throws DataException
SELECTを実行し、テーブルオブジェクトを返します.

パラメータ:
conn - JDBCコネクション
戻り値:
Table 結果が格納されたテーブルオブジェクト
例外:
DataException

toString

public String toString()
SQLとパラメータ内容を文字列として取得します.

オーバーライド:
クラス Object 内の toString

camelToUnderscore

public static String camelToUnderscore(String name,
                                       boolean changeAllCharToUpperCase)
駱駝スタイルのnameをアンダースコア区切りに変換する.

パラメータ:
name -
changeAllCharToUpperCase - true:小文字を全て大文字にする false:大文字を全て小文字にする。
戻り値:

underscoreToCamel

public static String underscoreToCamel(String name,
                                       boolean changeInitialCharToUpperCase)
アンダースコア区切りのnameを駱駝スタイルに変換する.

パラメータ:
name -
changeInitialCharToUpperCase - 先頭文字を大文字にする。
戻り値:

$useRemoteDummy

public <E extends Serializable> E $useRemoteDummy(Class<? extends E> type,
                                                  String remoteId)
リモートデータベースに接続するダミーエンティティオブジェクトを作成します。.

パラメータ:
type - エンティティオブジェクトのクラス

$useRemote

public void $useRemote(ITableDef entity,
                       String remoteId)

$useDummy

public <E extends Serializable> E $useDummy(Class<? extends E> type)
ダミーエンティティオブジェクトを作成します。.

パラメータ:
type - エンティティオブジェクトのクラス

$useDummy

public <E extends Serializable> E $useDummy(Class<? extends E> type,
                                            String alias)
ダミーエンティティオブジェクトを作成します。.

パラメータ:
type - エンティティオブジェクトのクラス

select

public SQL.Select select(Serializable... columns)
SELECTオブジェクトを作成します。.
columnsには選択するデータ項目[SELECT ...]を指定します。
省略すると[SELECT * FROM ...] と同じ意味になります。

パラメータ:
columns - ダミーエンティティオブジェクトのフィールドまたはgetter、あるいは式(Expression)オブジェクト

update

public SQL.Update update(Serializable entity)
UPDATEオブジェクトを作成します。.

パラメータ:
entity - 更新対象テーブルのダミーエンティティオブジェクト
戻り値:
Update オブジェクト

update

public SQL.Update update()
UPDATEオブジェクトを作成します。.
SQL<T>で指定したエンティティクラスTが更新対象テーブルとなります.

戻り値:
Update オブジェクト

delete

public SQL.Delete delete(Serializable entity)
DELETEオブジェクトを作成します。.

パラメータ:
entity - 削除対象テーブルのダミーエンティティオブジェクト
戻り値:
Update オブジェクト

delete

public SQL.Delete delete()
DELETEオブジェクトを作成します。.
SQL<T>で指定したエンティティクラスTが削除対象テーブルとなります.

戻り値:
Update オブジェクト

insert

public SQL.Insert insert(Serializable entity)
UPDATEオブジェクトを作成します。.

パラメータ:
entity - 更新対象テーブルのダミーエンティティオブジェクト
戻り値:
Update オブジェクト

insert

public SQL.Insert insert()
UPDATEオブジェクトを作成します。.
SQL<T>で指定したエンティティクラスTが更新対象テーブルとなります.

戻り値:
Update オブジェクト

$bindParam

public SQL.BindParameter $bindParam(String name)
バインドパラメータを作成します.

パラメータ:
パラメータ名 -

$if

public SQL.Condition $if(SQL.Condition nestedCondition)
条件式を開始します.

パラメータ:
nestedCondition - 入れ子にする条件式(Conditionオブジェクト)

$if

public SQL.Comparer $if(Serializable value)
条件式を開始します.

パラメータ:
value - ダミーエンティティオブジェクトのフィールドまたはgetter

$not

public SQL.Condition $not(SQL.Condition nestedCondition)
NOT( nestedCondition )条件式を開始します.

パラメータ:
nestedCondition - 入れ子にする条件式(Conditionオブジェクト)

$not

public SQL.Comparer $not(Serializable value)
NOT ( A ? B ) 条件式を開始します.

パラメータ:
value - ダミーエンティティオブジェクトのフィールドまたはgetter

setDynamicCondtion

public void setDynamicCondtion(String key,
                               SQL.Condition condition)
キーを指定してダイナミック条件式を設定します.

パラメータ:
key - 条件式を識別するキー

resetDynamicCondtions

public void resetDynamicCondtions()
設定済のダイナミック条件式を全てクリアします。


$evaluateNonNulls

public SQL.Condition $evaluateNonNulls(SQL.Condition nestedCondition)
実行時パラメータがNOT NULLであれば評価される条件式を開始します.

パラメータ:
nestedCondition - 入れ子にする条件式(Conditionオブジェクト)

$evaluateNonNulls

public SQL.Comparer $evaluateNonNulls(Serializable value)
実行時パラメータがNOT NULLであれば評価される条件式を開始します.

パラメータ:
value - ダミーエンティティオブジェクトのフィールドまたはgetter

$

public SQL.Expression $(Serializable source)
SQL式を開始します.

パラメータ:
source - ダミーエンティティオブジェクトのフィールドまたはgetter、あるいは式(Expression)オブジェクト

createComparer

public static <Q,T> SQL.Comparer<Q,T> createComparer(SQL.Query query,
                                                     SQL.Token previous,
                                                     Class<? extends Q> quertType,
                                                     Class<? extends T> dataType)

getProvider

public ISQLDataProvider getProvider(Connection conn)
                             throws DataException
コネクションをもとに適切なデータプロバイダーのインスタンスを生成する.

パラメータ:
conn -
戻り値:
SQLDataProviderオブジェクト
例外:
DataException

getResolver

public ISQLDataResolver getResolver(Connection conn)
                             throws DataException
コネクションをもとに適切なデータリゾルバーのインスタンスを生成する.

パラメータ:
conn -
戻り値:
SQLDataResolverオブジェクト
例外:
DataException

selectCopyToTable

public void selectCopyToTable(Connection selectConn,
                              WebSQLTable<?> targetTable,
                              Connection insertConn)
                       throws DataException
SELECTを実行し、結果リストを指定したTableへ格納します。

パラメータ:
selectConn - SELECT実行コネクション
targetTable - 格納先Table
insertConn - INSERT実行コネクション
例外:
DataException - 例外発生時


Copyright (C) 2006-2012 LittleSoft Corporation. All Rights Reserved.