|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjp.littlesoft.data.Table<E>
jp.littlesoft.web.WebDataTable<E>
jp.littlesoft.web.WebSQLTable<E>
public class WebSQLTable<E extends Serializable>
WebSQLテーブルクラス。
SQLデータベースへの読み書きに対応したWebDataTable拡張クラスです。
このクラスはISQLDataProviderとISQLDataResolverを内蔵しています。
[ISQLDataProvider]
SQLデータベースに対するSELECT文の結果をもとにRowオブジェクトを生成し、Tableオブジェクトの内容にセットするクラスです。
[ISQLDataResolver]
Tableオブジェクトに対して行った編集(行の変更・削除・追加)をもとに、指定されたSQLデータベーステーブルへ内容を書き込むクラスです。
このクラスの内部では、上記オブジェクトが自動的に生成され、DataProviderプロパティ、DataResolverプロパティに、それぞれセットされています。
[基本的な使い方:SQLデータベースから値を取得する]
//このクラスのオブジェクトを生成します。 WebSQLTable table = new WebSQLTable(); //SELECT文を設定します。 table.setSQL("select * from emp"); //活性化すると自動的にSQLデータベースへのSELECT文を実行します。この際、JDBCコネクションを与えます。 table.activate(conn); //SELECT文結果の値を表示します。 table.first(); //先頭行へ移動 while(table.inBounds()) { System.out.println("お名前:" + table.getValueAsString("NAME")); table.next(); //次の行へ移動 } //非活性化すると行オブジェクトが解放されます。 table.passivate();[基本的な使い方:SQLデータベーステーブルの値を変更する]
//n番目の行に移動します。 table.moveTo(n); //NAMEカラムに値を設定します。 table.getValueAsString("NAME","山田太郎"); //行に対する変更内容を確認します。※必須項目に値を設定していないと例外となります。 table.validateRow(); //更新対象データベース・スキーマ名を指定します。※ORACLEで、接続ユーザー名とスキーマー名が同一の場合、省略可能です。 table.setResolveTargetDBSchema("public"); //更新対象データベース・テーブル名 を指定します。 tableEmp.setResolveTargetDBTable("t_emp"); //更新を実行します。この際、JDBCコネクションを与えます。 tableEmp.resolveChanges(conn);
ISQLDataProvider
,
ISQLDataResolver
,
直列化された形式入れ子のクラスの概要 |
---|
クラス jp.littlesoft.web.WebDataTable から継承された入れ子のクラス/インタフェース |
---|
WebDataTable.PageContext, WebDataTable.PageRow<K,V>, WebDataTable.PageVelocityHandler, WebDataTable.PagingCallMethodType, WebDataTable.RequestParam |
クラス jp.littlesoft.data.Table から継承された入れ子のクラス/インタフェース |
---|
Table.SortKey |
フィールドの概要 |
---|
クラス jp.littlesoft.data.Table から継承されたフィールド |
---|
_params, $$, active, columns, entity, params |
コンストラクタの概要 | |
---|---|
WebSQLTable(E... e)
WebSQLTable オブジェクトを生成します。 |
メソッドの概要 | ||
---|---|---|
SQL.Expression |
$(Serializable source)
SQL式を開始します. |
|
SQL.BindParameter |
$bindParam(String name)
バインドパラメータを作成します. |
|
Column |
$column(Serializable source)
ダミーエンティティオブジェクトのフィールドから対応するカラムオブジェクトを取得します. |
|
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)
条件式を開始します. |
|
|
$useDummy(Class<? extends T> type)
ダミーエンティティオブジェクトを作成します。. |
|
void |
$useRemote(ITableDef dummy,
String id)
ダミーエンティティオブジェクトにリモートデータベースのIDを割り当てます. |
|
|
$useRemoteDummy(Class<? extends T> type,
String id)
リモートデータベースに接続するダミーエンティティオブジェクトを作成します。. |
|
void |
activate(Connection conn)
JDBCコネクションを設定すると同時にテーブルを活性化します。 |
|
Row<E> |
appendRow()
SQLテーブル最後に新規行を追加します。 |
|
protected Object |
clone()
|
|
void |
closeConnection()
JDBCコネクションをクローズします。 |
|
SQL.Delete |
delete()
DELETE文を構築します. |
|
SQL.Delete |
delete(Serializable entity)
DELETE文を構築します. |
|
void |
deleteRow()
現在行を削除します。 |
|
void |
emptyActivate(Connection conn)
|
|
Connection |
getConnection()
JDBCコネクションを取得します。 |
|
int |
getPageCount()
全体のページ数を取得します。 |
|
Params<E> |
getParams()
SQLパラメータのセットを取得します。 |
|
String[] |
getResolveKeyColumns()
データベーステーブルの更新対象行を検索するキーとなる列名の配列を取得します。 |
|
String |
getResolveTargetDBCatalog()
更新対象データベーステーブルのカタログ名を取得します。 |
|
String |
getResolveTargetDBSchema()
更新対象データベーステーブルのスキーマ名を取得します。 |
|
String |
getResolveTargetDBTable()
更新対象データベーステーブル名を取得します。 |
|
Row<E> |
getRow(int rowIndex)
引数 rowIndex で指定された Row オブジェクトを取得します。 |
|
int |
getRowCount()
Tableオブジェクトに格納されているデータ件数を取得します。 |
|
String |
getSQL()
WebSQLTable オブジェクトを活性化する際に実行されるSELECT文を取得します。 |
|
String |
getSQLDelete()
resolveChange() メソッド使用するDELETE文を取得します。 |
|
String |
getSQLInsert()
resolveChange() メソッド使用するINSERT文を取得します。 |
|
SQL.Select |
getSQLSelect()
SQL.Selectオブジェクトを取得します。 |
|
String |
getSQLUpdate()
resolveChange() メソッド使用するUPDATE文を取得します。 |
|
boolean |
hasNextPage()
次のページが存在するかどうか調べます。 |
|
boolean |
hasPreviousPage()
前のページが存在するかどうか調べます。 |
|
SQL.Insert |
insert()
INSERT文を構築します. |
|
SQL.Insert |
insert(Serializable entity)
INSERT文を構築します. |
|
Row<E> |
insertRow(int index)
SQLテーブルに新規行を追加します。 |
|
void |
pageFirst(Connection conn)
先頭ページの内容をデータベースより取得し、テーブルオブジェクトに格納します。 |
|
void |
pageLast(Connection conn)
最終ページの内容をデータベースより取得し、テーブルオブジェクトに格納します。 |
|
void |
pageMoveTo(int page,
Connection conn)
引数で指定されたページの内容をデータベースより取得し、テーブルオブジェクトに格納します。 |
|
void |
pageNext(Connection conn)
次ページの内容をデータベースより取得し、テーブルオブジェクトに格納します。 |
|
void |
pagePrevious(Connection conn)
前ページの内容をデータベースより取得し、テーブルオブジェクトに格納します。 |
|
void |
resetDynamicCondtions()
設定済のダイナミック条件式を全てクリアします。 |
|
void |
resolveChanges()
WebSQLTable オブジェクトに対して行われた編集結果をもとに、データベーステーブルの内容を書き換えます。 |
|
void |
resolveChanges(Connection conn)
WebSQLTable オブジェクトに対して行われた編集結果をもとに、データベーステーブルの内容を書き換えます。 |
|
SQL.Select |
select(Serializable... values)
SELECTオブジェクトを作成します。. |
|
void |
setConnection(Connection conn)
JDBCコネクションを設定します。 |
|
void |
setDynamicCondtion(String key,
SQL.Condition<?> condition)
キーを指定してダイナミック条件式を設定します. |
|
void |
setMaxRows(int newMaxRows)
Tableに読み込む最大行数を設定します。 |
|
void |
setRemoteConnection(String id,
Connection connection)
リモートデータベースのコネクションを設定します. |
|
void |
setResolveKeyColumns(String[] newResolveKeyColumns)
データベーステーブルの更新対象行を検索するキーとなる列を設定します。 |
|
void |
setResolveTargetDBCatalog(String targetDBCatalog)
更新対象データベーステーブルのカタログ名を設定します。 |
|
void |
setResolveTargetDBSchema(String targetDBSchema)
更新対象データベーステーブルのスキーマ名を設定します。 |
|
void |
setResolveTargetDBTable(String targetDBTable)
更新対象データベーステーブル名を設定します。 |
|
void |
setSQL(SQL.Select select)
SQL.Selectオブジェクトを設定します。 |
|
void |
setSQL(String selectSQL)
WebSQLTable オブジェクトを活性化する際に実行されるSELECT文を設定します。 |
|
void |
setSQLDelete(String sqlDelete)
resolveChange() メソッド使用するDELETE文を設定します。 |
|
void |
setSQLInsert(String sqlInsert)
resolveChange() メソッド使用するINSERT文を設定します。 |
|
void |
setSQLUpdate(String sqlUpdate)
resolveChange() メソッド使用するUPDATE文を設定します。 |
|
void |
sortRows(String columnName)
指定されたカラムでSQLテーブル内の行をソートします。 |
|
SQL.Update |
update()
UPDATEオブジェクトを作成します。. |
|
SQL.Update |
update(Serializable entity)
UPDATEオブジェクトを作成します。. |
クラス java.lang.Object から継承されたメソッド |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
インタフェース jp.littlesoft.web.ICheckableRequest から継承されたメソッド |
---|
getName, setName |
コンストラクタの詳細 |
---|
public WebSQLTable(E... e)
メソッドの詳細 |
---|
public SQL.Select select(Serializable... values)
ISQLApplication
内の select
columns
- ダミーエンティティオブジェクトのフィールドまたはgetter、あるいは式(Expression)オブジェクト
public SQL.Select getSQLSelect()
public void setSQL(SQL.Select select)
Select
- public void setConnection(Connection conn) throws DataException
conn
- JDBCコネクション
DataException
- 例外発生時public Connection getConnection()
public void closeConnection()
public void activate(Connection conn) throws DataException
conn
- JDBCコネクション
DataException
- 例外発生時public void emptyActivate(Connection conn) throws DataException
DataException
public void pageFirst(Connection conn) throws DataException
conn
- JDBCコネクション
DataException
- 例外発生時public void pageNext(Connection conn) throws DataException
conn
- JDBCコネクション
DataException
- 例外発生時public void pagePrevious(Connection conn) throws DataException
conn
- JDBCコネクション
DataException
- 例外発生時public void pageLast(Connection conn) throws DataException
conn
- JDBCコネクション
DataException
- 例外発生時public void pageMoveTo(int page, Connection conn) throws DataException
conn
- JDBCコネクション
DataException
- 例外発生時public int getPageCount()
public int getRowCount()
Table<E extends Serializable>
内の getRowCount
Table.getRowCount()
public boolean hasNextPage()
WebDataTable<E extends Serializable>
内の hasNextPage
WebDataTable.hasNextPage()
public boolean hasPreviousPage()
WebDataTable<E extends Serializable>
内の hasPreviousPage
WebDataTable.hasPreviousPage()
public void deleteRow() throws DataException
WebDataTable<E extends Serializable>
内の deleteRow
DataException
- 例外発生時WebDataTable.deleteRow()
public Row<E> appendRow() throws DataException
WebDataTable<E extends Serializable>
内の appendRow
DataException
- 例外発生時WebDataTable.appendRow()
public Row<E> insertRow(int index) throws DataException
WebDataTable<E extends Serializable>
内の insertRow
index
- 挿入場所を示すインデックス(先頭行は0)
DataException
- 例外発生時WebDataTable.insertRow(int)
public void sortRows(String columnName)
Table<E extends Serializable>
内の sortRows
columnName
- Column名Table.sortRows(java.lang.String)
public Params<E> getParams()
table.setSQL("select * from emp where empno = :EMPLOYEE_NO");の様に、バインドパラメータにする項目名の先頭にコロン(:)を指定します。
table.getParam.setValueAsString("1001");というコードになります。
Table<E extends Serializable>
内の getParams
public void setSQL(String selectSQL) throws DataException
selectSQL
- SELECT文
DataException
- 例外発生時public String getSQL()
public void setResolveTargetDBCatalog(String targetDBCatalog) throws DataException
targetDBCatalog
- カタログ名
DataException
- 例外発生時public void setResolveTargetDBSchema(String targetDBSchema) throws DataException
targetDBSchema
- スキーマ名
DataException
- 例外発生時public void setResolveTargetDBTable(String targetDBTable) throws DataException
targetDBTable
- テーブル名
DataException
- 例外発生時public String getResolveTargetDBCatalog()
public String getResolveTargetDBSchema()
public String getResolveTargetDBTable()
public void setResolveKeyColumns(String[] newResolveKeyColumns) throws DataException
newResolveKeyColumns
- 検索するキーの配列
DataException
- 例外発生時public String[] getResolveKeyColumns()
public void resolveChanges() throws DataException
Table<E extends Serializable>
内の resolveChanges
DataException
- 例外発生時public void resolveChanges(Connection conn) throws DataException
conn
- JDBCコネクション
DataException
- 例外発生時public void setSQLDelete(String sqlDelete) throws DataException
sqlDelete
- DELETE文
DataException
- 例外発生時ISQLDataResolver.setSQLDelete(String)
public String getSQLDelete()
public void setSQLUpdate(String sqlUpdate) throws DataException
sqlUpdate
- UPDATE文
DataException
- 例外発生時ISQLDataResolver.setSQLUpdate(String)
public String getSQLUpdate()
public void setSQLInsert(String sqlInsert) throws DataException
sqlInsert
- INSERT文
DataException
- 例外発生時ISQLDataResolver.setSQLInsert(String)
public String getSQLInsert()
public void setMaxRows(int newMaxRows)
newMaxRows
- 最大行数(0以上の整数,0は無制限)public Row<E> getRow(int rowIndex) throws DataException
Table
の記述:
Table<E extends Serializable>
内の getRow
rowIndex
- 行インデックス
DataException
- 例外発生時public SQL.Expression $(Serializable source)
ISQLApplication
の記述:
ISQLApplication
内の $
source
- ダミーエンティティオブジェクトのフィールドまたはgetter、あるいは式(Expression)オブジェクトpublic SQL.BindParameter $bindParam(String name)
ISQLApplication
の記述:
ISQLApplication
内の $bindParam
public Column $column(Serializable source)
ISQLApplication
の記述:
ISQLApplication
内の $column
public SQL.Condition<?> $if(SQL.Condition nestedCondition)
ISQLApplication
の記述:
ISQLApplication
内の $if
nestedCondition
- 入れ子にする条件式(Conditionオブジェクト)public SQL.Comparer<?,?> $if(Serializable value)
ISQLApplication
の記述:
ISQLApplication
内の $if
value
- ダミーエンティティオブジェクトのフィールドまたはgetterpublic <T extends Serializable> T $useDummy(Class<? extends T> type)
ISQLApplication
の記述:
ISQLApplication
内の $useDummy
type
- エンティティオブジェクトのクラスpublic SQL.Condition<?> $evaluateNonNulls(SQL.Condition<?> nestedCondition)
ISQLApplication
内の $evaluateNonNulls
nestedCondition
- 入れ子にする条件式(Conditionオブジェクト)public SQL.Comparer $evaluateNonNulls(Serializable value)
ISQLApplication
内の $evaluateNonNulls
value
- ダミーエンティティオブジェクトのフィールドまたはgetterpublic SQL.Delete delete(Serializable entity)
ISQLApplication
内の delete
entity
-
public SQL.Delete delete()
public SQL.Insert insert(Serializable entity)
ISQLApplication
内の insert
entity
-
public SQL.Insert insert()
public SQL.Update update(Serializable entity)
ISQLApplication
内の update
entity
- 更新対象テーブルのダミーエンティティオブジェクト
public SQL.Update update()
protected Object clone() throws CloneNotSupportedException
Object
内の clone
CloneNotSupportedException
public void resetDynamicCondtions()
ISQLApplication
内の resetDynamicCondtions
public void setDynamicCondtion(String key, SQL.Condition<?> condition)
ISQLApplication
内の setDynamicCondtion
key
- 条件式を識別するキーpublic <T extends Serializable> T $useRemoteDummy(Class<? extends T> type, String id)
ISQLApplication
内の $useRemoteDummy
type
- エンティティオブジェクトのクラスid
- リモートデータベースを識別する任意のIDpublic void $useRemote(ITableDef dummy, String id)
ISQLApplication
内の $useRemote
dummy
- ダミーエンティティオブジェクトid
- リモートデータベースを識別する任意のIDpublic void setRemoteConnection(String id, Connection connection)
ISQLApplication
内の setRemoteConnection
id
- リモートデータベースを識別する任意のIDconnection
- JDBCコネクション
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |