net.argius.stu.sql
インタフェース SQL

既知の実装クラスの一覧:
AbstractSQL

public interface SQL

汎用SQLのインターフェイスです。 java.sql以下のAPIを直接使用しない、 シンプルなSQL操作を提供します。 但し、文法チェックや整合性チェックなどは行いません。

複雑なSQL文の構築には向いていませんが、ある程度は書くことができます。 複雑なSQLに特化したクラスが必要な場合は、 このクラスのラッパーを作ることで対応できます。

   (例)
   List columns = new ArrayList(); // 指定する列が毎回同じならstaticにした方が良い
   columns.add("a.USER_NAME");
   columns.add("b.USER_ADDRESS");
   SQL sql = new SelectSQL(conn, "MAIN_TABLE a, ADDRESS_TABLE b");
   // SELECT a.USER_NAME, b.USER_ADDRESS FROM MAIN_TABLE a, ADDRESS_TABLE b
   while (sql.next()) {
       System.out.println(sql.getValues());
   }
 


メソッドの概要
 void addColumn(List list)
          選択する列をリスト単位で追加します。
 void addColumn(String name)
          選択する列を追加します。
 void addParameter(List list)
          プリコンパイル済みSQLのためのパラメータをセットします。
 void addParameter(String value)
          プリコンパイル済みSQLのためのパラメータをセットします。
 void clearColumn()
          選択された列をクリアします。
 void clearParameter()
          プリコンパイル済みSQLのためのパラメータをクリアします。
 void close()
          オブジェクトをクローズします。
 int execute()
          SQLを実行します。
 String getQuery()
          クエリ文を取得します。
 String getValue(int index)
          指定したインデックスの列値を文字列として取得します。
 String getValue(String key)
          指定した列名の値を文字列として取得します。
 List getValues()
          現在のレコードの全ての列値をリストとして返します。
 boolean next()
          結果レコードのカーソルを次の行に移動します。
 void open(Connection conn, String table)
          オブジェクトをオープンします。
 void setQuery(String query)
          クエリ文をセットします。
 void setQueryTimeout(int seconds)
          SQLの実行を待つ秒数を設定します。
 String toString()
          このオブジェクトの文字列形式を取得します。
 String toVerboseString()
          このオブジェクトの詳細な情報を含む文字列を取得します。
 

メソッドの詳細

open

public void open(Connection conn,
                 String table)
          throws SQLException
オブジェクトをオープンします。

パラメータ:
conn - コネクション
table - テーブル名
例外:
SQLException - オープンに失敗した場合

addColumn

public void addColumn(String name)
選択する列を追加します。

パラメータ:
name - 列名

addColumn

public void addColumn(List list)
選択する列をリスト単位で追加します。

パラメータ:
list - 列名のリスト

clearColumn

public void clearColumn()
選択された列をクリアします。


getQuery

public String getQuery()
クエリ文を取得します。

戻り値:
クエリ文の文字列(基本的にWHERE句)

setQuery

public void setQuery(String query)
クエリ文をセットします。 文法チェックやプレースホルダのチェックは行いません。

パラメータ:
query - クエリ文の文字列(基本的にWHERE句)

setQueryTimeout

public void setQueryTimeout(int seconds)
SQLの実行を待つ秒数を設定します。

パラメータ:
seconds - 秒数 0以下が指定された場合は無制限

addParameter

public void addParameter(String value)
プリコンパイル済みSQLのためのパラメータをセットします。

パラメータ:
value - パラメータ値

addParameter

public void addParameter(List list)
プリコンパイル済みSQLのためのパラメータをセットします。

パラメータ:
list - パラメータ値のリスト

clearParameter

public void clearParameter()
プリコンパイル済みSQLのためのパラメータをクリアします。


execute

public int execute()
            throws SQLException
SQLを実行します。

戻り値:
処理された件数(任意)
例外:
SQLException - SQL実行時のエラー

next

public boolean next()
             throws SQLException
結果レコードのカーソルを次の行に移動します。

戻り値:
カーソル移動に成功した場合はtrue、失敗した場合はfalse
例外:
SQLException - 結果レコード参照のエラー

getValue

public String getValue(String key)
                throws SQLException
指定した列名の値を文字列として取得します。

パラメータ:
key - 列名
戻り値:
指定した列の値文字列
例外:
SQLException - 結果レコード参照のエラー

getValue

public String getValue(int index)
                throws SQLException
指定したインデックスの列値を文字列として取得します。

パラメータ:
index - 列番号
戻り値:
指定した列の値文字列
例外:
SQLException - 結果レコード参照のエラー

getValues

public List getValues()
               throws SQLException
現在のレコードの全ての列値をリストとして返します。

戻り値:
値のリスト
例外:
SQLException - 結果レコード参照のエラー

close

public void close()
           throws SQLException
オブジェクトをクローズします。

例外:
SQLException - クローズに失敗した場合

toString

public String toString()
このオブジェクトの文字列形式を取得します。

戻り値:
オブジェクトを示す文字列

toVerboseString

public String toVerboseString()
このオブジェクトの詳細な情報を含む文字列を取得します。

戻り値:
オブジェクトを示す文字列