public class ORMapper
extends java.lang.Object
マッピングにはオブジェクトとしてPOJOを使用することができます。 getter/setterなどのBean作法やアノテーションは必要ありません。 代わりにクラス名がテーブル名になる、フィールド名が列名になるといった規約があります。
このクラスはデータベースへのアクセスはせずに、 オブジェクトからSELECT、INSERT、UPDATE、DELETE、MERGEの各SQL文を作成します。
| コンストラクタと説明 |
|---|
ORMapper(java.lang.Class<?> cls)
指定したクラスを使ってSQL文を構築するORMapperインスタンスを作成します。
|
ORMapper(java.lang.Object obj)
指定したオブジェクト(POJO)を使ってSQL文を構築するORMapperインスタンスを作成します。
|
ORMapper(java.sql.ResultSet rs)
指定したResultSetをオブジェクトに変換するためのORMapperインスタンスを作成します。
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
<T> T |
get(java.lang.Class<T> returnClass)
保持しているResultSetから指定したクラスのインスタンスを作成します。
|
NamedParameterStatement |
getDeleteStatement()
DELETE文を構築します。
|
NamedParameterStatement |
getDeleteStatement(java.sql.Connection cn)
指定した接続を使用してDELETE文を構築します。
|
NamedParameterStatement |
getDeleteStatement(java.sql.Connection cn,
java.lang.Object obj)
指定した接続とオブジェクトを使用してDELETE文を構築します。
|
NamedParameterStatement |
getDeleteStatement(java.lang.Object obj)
指定したオブジェクトを使用してDELETE文を構築します。
|
NamedParameterStatement |
getInsertStatement()
INSERT文を構築します。
|
NamedParameterStatement |
getInsertStatement(java.sql.Connection cn)
指定した接続を使用してINSERT文を構築します。
|
NamedParameterStatement |
getInsertStatement(java.sql.Connection cn,
java.lang.Object obj)
指定した接続とオブジェクトを使用してINSERT文を構築します。
|
NamedParameterStatement |
getInsertStatement(java.lang.Object obj)
指定したオブジェクトを使用してINSERT文を構築します。
|
<T> ObjectIterable<T> |
getIterable(java.lang.Class<T> returnClass)
保持しているResultSetから指定したクラスのインスタンスを作成する反復可能なオブジェクトを返します。
|
<T> ObjectIterator<T> |
getIterator(java.lang.Class<T> returnClass)
保持しているResultSetから指定したクラスのインスタンスを作成するイテレーターを返します。
|
<T> java.util.List<T> |
getList(java.lang.Class<T> returnClass)
保持しているResultSetから指定したクラスのインスタンスを要素に持つリストを返します。
|
NamedParameterStatement |
getMergeStatement()
MERGE文を構築します。
|
NamedParameterStatement |
getMergeStatement(java.sql.Connection cn)
指定した接続を使用してMERGE文を構築します。
|
NamedParameterStatement |
getMergeStatement(java.sql.Connection cn,
java.lang.Object obj)
指定した接続とオブジェクトを使用してMERGE文を構築します。
|
NamedParameterStatement |
getMergeStatement(java.lang.Object obj)
指定したオブジェクトを使用してMERGE文を構築します。
|
NamedParameterStatement |
getSelectStatement()
SELECT文を構築します。
|
NamedParameterStatement |
getSelectStatement(java.sql.Connection cn)
指定した接続を使用してSELECT文を構築します。
|
NamedParameterStatement |
getSelectStatement(java.sql.Connection cn,
java.lang.String tableName,
java.lang.Object obj)
指定した接続、テーブル名、オブジェクトを使用してSELECT文を構築します。
|
NamedParameterStatement |
getSelectStatement(java.lang.Object obj)
指定したオブジェクトを使用してSELECT文を構築します。
|
NamedParameterStatement |
getUpdateStatement()
UPDATE文を構築します。
|
NamedParameterStatement |
getUpdateStatement(java.sql.Connection cn)
指定した接続を使用してUPDATE文を構築します。
|
NamedParameterStatement |
getUpdateStatement(java.sql.Connection cn,
java.lang.Object obj)
指定した接続とオブジェクトを使用してUPDATE文を構築します。
|
NamedParameterStatement |
getUpdateStatement(java.lang.Object obj)
指定したオブジェクトを使用してUPDATE文を構築します。
|
public ORMapper(java.sql.ResultSet rs)
rs - ResultSetpublic ORMapper(java.lang.Class<?> cls)
cls - SQL文の構築に使用するクラスpublic ORMapper(java.lang.Object obj)
obj - SQL文の構築に使用するオブジェクトpublic <T> T get(java.lang.Class<T> returnClass)
throws java.sql.SQLException,
java.text.ParseException,
java.lang.ReflectiveOperationException
コンストラクタにResultSetを指定してORMapperインスタンスを作成している必要があります。
ResultSetがデータのある行を指している場合、その行の値を使用します。 ResultSetが先頭行の前に設定されている場合は、ResultSetのnext()メソッドを呼び出して先頭行を指すように試みます。 行データが存在しない場合は null を返します。
要素の型としてInteger.class、String.class、LocalDateTime.classなどのスカラー値の型を指定することもできます。 スカラー値の型を指定する場合、ResultSetは単一の列のみを保持している必要があります。ResultSetの列数が2以上の場合、IllegalArgumentExceptionがスローされます。
T - 返されるオブジェクトの型。returnClass - 返されるオブジェクトの型。java.sql.SQLException - データベースアクセスエラーが発生した場合java.text.ParseException - 列の値をフィールドの型に変換できない場合java.lang.ReflectiveOperationException - リフレクション操作例外。returnClassには引数を持たないコンストラクタが必要です。public <T> java.util.List<T> getList(java.lang.Class<T> returnClass)
throws java.sql.SQLException,
java.text.ParseException,
java.lang.IllegalArgumentException,
java.lang.ReflectiveOperationException
コンストラクタにResultSetを指定してORMapperインスタンスを作成している必要があります。
ResultSetのnext()メソッドを呼び出してからデータの読み取りを最終行まで繰り返します。 ResultSetが先頭行の前ではなくデータ行を指している場合、その行は対象にならず、次の行から読み取りがおこなわれることに注意してください。
要素の型としてInteger.class、String.class、LocalDateTime.classなどのスカラー値の型を指定することもできます。 スカラー値の型を指定する場合、ResultSetは単一の列のみを保持している必要があります。ResultSetの列数が2以上の場合、IllegalArgumentExceptionがスローされます。
T - 返されるリストの要素の型。returnClass - 返されるリストの要素の型。java.sql.SQLException - データベースアクセスエラーが発生した場合java.text.ParseException - 列の値をフィールドの型に変換できない場合java.lang.IllegalArgumentException - 指定されたクラスが null の場合java.lang.ReflectiveOperationException - リフレクション操作例外。returnClassには引数を持たないコンストラクタが必要です。public <T> ObjectIterable<T> getIterable(java.lang.Class<T> returnClass) throws java.sql.SQLException
返された反復可能なオブジェクトは拡張for文を使って要素を取り出すことができます。
このメソッドはgetList(Class)メソッドとは異なり、
すぐにResultSetの読み取りをおこないません。
イテレーターのnext()メソッドが呼び出される都度、
ResultSetの行を進めてオブジェクトに変換していきます。
大量の行データを扱う場合、getList(Class)メソッドよりもメモリー効率が良くなります。
T - イテレータから返される要素の型returnClass - ResultSetから読み取られた行を変換する型java.sql.SQLException - データベースアクセスエラーが発生した場合public <T> ObjectIterator<T> getIterator(java.lang.Class<T> returnClass) throws java.sql.SQLException
返されたイテレーターのnext()メソッドが呼び出される都度、
ResultSetの行を進めてオブジェクトに変換していきます。
大量の行データを扱う場合、getList(Class)メソッドよりもメモリー効率が良くなります。
T - イテレータから返される要素の型returnClass - ResultSetから読み取られた行を変換する型java.sql.SQLException - データベースアクセスエラーが発生した場合public NamedParameterStatement getSelectStatement() throws java.sql.SQLException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
コンストラクタにクラスまたはResultSet以外のオブジェクトを指定してORMapperインスタンスを作成している必要があります。
このメソッドではデータベース・スキーマを参照するため、
暗黙的に DataSource.getConnection()メソッドが呼び出します。
DataSource.initialize()メソッドを使用してDataSourceが適切に初期化されている必要があります。
java.sql.SQLException - データベースアクセスエラーが発生した場合java.lang.IllegalArgumentException - 下位メソッドに不正な引数が渡された場合java.lang.IllegalAccessException - オブジェクトのフィールドにアクセスできない場合public NamedParameterStatement getSelectStatement(java.lang.Object obj) throws java.sql.SQLException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
コンストラクタにクラスまたはResultSet以外のオブジェクトを指定してORMapperインスタンスを作成している必要があります。
このメソッドではデータベース・スキーマを参照するため、
暗黙的に DataSource.getConnection()メソッドが呼び出します。
DataSource.initialize()メソッドを使用してDataSourceが適切に初期化されている必要があります。
obj - SELECT文の構築に使用するオブジェクトjava.sql.SQLException - データベースアクセスエラーが発生した場合java.lang.IllegalArgumentException - 下位メソッドに不正な引数が渡された場合java.lang.IllegalAccessException - オブジェクトのフィールドにアクセスできない場合public NamedParameterStatement getSelectStatement(java.sql.Connection cn) throws java.sql.SQLException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
コンストラクタにクラスまたはResultSet以外のオブジェクトを指定してORMapperインスタンスを作成している必要があります。
このメソッドでは指定された接続を使ってデータベース・スキーマを参照するため、
DataSourceが初期化されている必要がありません。
cn - データベース・スキーマの参照に使用する接続java.sql.SQLException - データベースアクセスエラーが発生した場合java.lang.IllegalArgumentException - 下位メソッドに不正な引数が渡された場合java.lang.IllegalAccessException - オブジェクトのフィールドにアクセスできない場合public NamedParameterStatement getSelectStatement(java.sql.Connection cn, java.lang.String tableName, java.lang.Object obj) throws java.sql.SQLException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
コンストラクタにクラスまたはResultSet以外のオブジェクトを指定してORMapperインスタンスを作成している必要があります。
このメソッドでは指定された接続を使ってデータベース・スキーマを参照するため、
DataSourceが初期化されている必要がありません。
cn - データベース・スキーマの参照に使用する接続tableName - テーブル名obj - SELECT文の構築に使用するオブジェクトjava.sql.SQLException - データベースアクセスエラーが発生した場合java.lang.IllegalArgumentException - 下位メソッドに不正な引数が渡された場合java.lang.IllegalAccessException - オブジェクトのフィールドにアクセスできない場合public NamedParameterStatement getInsertStatement() throws java.sql.SQLException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
コンストラクタにクラスまたはResultSet以外のオブジェクトを指定してORMapperインスタンスを作成している必要があります。
このメソッドではデータベース・スキーマを参照するため、
暗黙的に DataSource.getConnection()メソッドが呼び出します。
DataSource.initialize()メソッドを使用してDataSourceが適切に初期化されている必要があります。
java.sql.SQLException - データベースアクセスエラーが発生した場合java.lang.IllegalArgumentException - 下位メソッドに不正な引数が渡された場合java.lang.IllegalAccessException - オブジェクトのフィールドにアクセスできない場合public NamedParameterStatement getInsertStatement(java.lang.Object obj) throws java.sql.SQLException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
コンストラクタにクラスまたはResultSet以外のオブジェクトを指定してORMapperインスタンスを作成している必要があります。
このメソッドではデータベース・スキーマを参照するため、
暗黙的に DataSource.getConnection()メソッドが呼び出します。
DataSource.initialize()メソッドを使用してDataSourceが適切に初期化されている必要があります。
obj - INSERT文の構築に使用するオブジェクトjava.sql.SQLException - データベースアクセスエラーが発生した場合java.lang.IllegalArgumentException - 下位メソッドに不正な引数が渡された場合java.lang.IllegalAccessException - オブジェクトのフィールドにアクセスできない場合public NamedParameterStatement getInsertStatement(java.sql.Connection cn) throws java.sql.SQLException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
コンストラクタにクラスまたはResultSet以外のオブジェクトを指定してORMapperインスタンスを作成している必要があります。
このメソッドでは指定された接続を使ってデータベース・スキーマを参照するため、
DataSourceが初期化されている必要がありません。
cn - データベース・スキーマの参照に使用する接続java.sql.SQLException - データベースアクセスエラーが発生した場合java.lang.IllegalArgumentException - 下位メソッドに不正な引数が渡された場合java.lang.IllegalAccessException - オブジェクトのフィールドにアクセスできない場合public NamedParameterStatement getInsertStatement(java.sql.Connection cn, java.lang.Object obj) throws java.sql.SQLException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
コンストラクタにクラスまたはResultSet以外のオブジェクトを指定してORMapperインスタンスを作成している必要があります。
このメソッドでは指定された接続を使ってデータベース・スキーマを参照するため、
DataSourceが初期化されている必要がありません。
cn - データベース・スキーマの参照に使用する接続obj - INSERT文の構築に使用するオブジェクトjava.sql.SQLException - データベースアクセスエラーが発生した場合java.lang.IllegalArgumentException - 下位メソッドに不正な引数が渡された場合java.lang.IllegalAccessException - オブジェクトのフィールドにアクセスできない場合public NamedParameterStatement getUpdateStatement() throws java.sql.SQLException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
コンストラクタにクラスまたはResultSet以外のオブジェクトを指定してORMapperインスタンスを作成している必要があります。
このメソッドではデータベース・スキーマを参照するため、
暗黙的に DataSource.getConnection()メソッドが呼び出します。
DataSource.initialize()メソッドを使用してDataSourceが適切に初期化されている必要があります。
java.sql.SQLException - データベースアクセスエラーが発生した場合java.lang.IllegalArgumentException - 下位メソッドに不正な引数が渡された場合java.lang.IllegalAccessException - オブジェクトのフィールドにアクセスできない場合public NamedParameterStatement getUpdateStatement(java.lang.Object obj) throws java.sql.SQLException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
コンストラクタにクラスまたはResultSet以外のオブジェクトを指定してORMapperインスタンスを作成している必要があります。
このメソッドではデータベース・スキーマを参照するため、
暗黙的に DataSource.getConnection()メソッドが呼び出します。
DataSource.initialize()メソッドを使用してDataSourceが適切に初期化されている必要があります。
obj - UPDATE文の構築に使用するオブジェクトjava.sql.SQLException - データベースアクセスエラーが発生した場合java.lang.IllegalArgumentException - 下位メソッドに不正な引数が渡された場合java.lang.IllegalAccessException - オブジェクトのフィールドにアクセスできない場合public NamedParameterStatement getUpdateStatement(java.sql.Connection cn) throws java.sql.SQLException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
コンストラクタにクラスまたはResultSet以外のオブジェクトを指定してORMapperインスタンスを作成している必要があります。
このメソッドでは指定された接続を使ってデータベース・スキーマを参照するため、
DataSourceが初期化されている必要がありません。
cn - データベース・スキーマの参照に使用する接続java.sql.SQLException - データベースアクセスエラーが発生した場合java.lang.IllegalArgumentException - 下位メソッドに不正な引数が渡された場合java.lang.IllegalAccessException - オブジェクトのフィールドにアクセスできない場合public NamedParameterStatement getUpdateStatement(java.sql.Connection cn, java.lang.Object obj) throws java.sql.SQLException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
コンストラクタにクラスまたはResultSet以外のオブジェクトを指定してORMapperインスタンスを作成している必要があります。
このメソッドでは指定された接続を使ってデータベース・スキーマを参照するため、
DataSourceが初期化されている必要がありません。
cn - データベース・スキーマの参照に使用する接続obj - UPDATE文の構築に使用するオブジェクトjava.sql.SQLException - データベースアクセスエラーが発生した場合java.lang.IllegalArgumentException - 下位メソッドに不正な引数が渡された場合java.lang.IllegalAccessException - オブジェクトのフィールドにアクセスできない場合public NamedParameterStatement getDeleteStatement() throws java.sql.SQLException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
コンストラクタにクラスまたはResultSet以外のオブジェクトを指定してORMapperインスタンスを作成している必要があります。
このメソッドではデータベース・スキーマを参照するため、
暗黙的に DataSource.getConnection()メソッドが呼び出します。
DataSource.initialize()メソッドを使用してDataSourceが適切に初期化されている必要があります。
java.sql.SQLException - データベースアクセスエラーが発生した場合java.lang.IllegalArgumentException - 下位メソッドに不正な引数が渡された場合java.lang.IllegalAccessException - オブジェクトのフィールドにアクセスできない場合public NamedParameterStatement getDeleteStatement(java.lang.Object obj) throws java.sql.SQLException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
コンストラクタにクラスまたはResultSet以外のオブジェクトを指定してORMapperインスタンスを作成している必要があります。
このメソッドではデータベース・スキーマを参照するため、
暗黙的に DataSource.getConnection()メソッドが呼び出します。
DataSource.initialize()メソッドを使用してDataSourceが適切に初期化されている必要があります。
obj - DELETE文の構築に使用するオブジェクトjava.sql.SQLException - データベースアクセスエラーが発生した場合java.lang.IllegalArgumentException - 下位メソッドに不正な引数が渡された場合java.lang.IllegalAccessException - オブジェクトのフィールドにアクセスできない場合public NamedParameterStatement getDeleteStatement(java.sql.Connection cn) throws java.sql.SQLException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
コンストラクタにクラスまたはResultSet以外のオブジェクトを指定してORMapperインスタンスを作成している必要があります。
このメソッドでは指定された接続を使ってデータベース・スキーマを参照するため、
DataSourceが初期化されている必要がありません。
cn - データベース・スキーマの参照に使用する接続java.sql.SQLException - データベースアクセスエラーが発生した場合java.lang.IllegalArgumentException - 下位メソッドに不正な引数が渡された場合java.lang.IllegalAccessException - オブジェクトのフィールドにアクセスできない場合public NamedParameterStatement getDeleteStatement(java.sql.Connection cn, java.lang.Object obj) throws java.sql.SQLException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
コンストラクタにクラスまたはResultSet以外のオブジェクトを指定してORMapperインスタンスを作成している必要があります。
このメソッドでは指定された接続を使ってデータベース・スキーマを参照するため、
DataSourceが初期化されている必要がありません。
cn - データベース・スキーマの参照に使用する接続obj - DELETE文の構築に使用するオブジェクトjava.sql.SQLException - データベースアクセスエラーが発生した場合java.lang.IllegalArgumentException - 下位メソッドに不正な引数が渡された場合java.lang.IllegalAccessException - オブジェクトのフィールドにアクセスできない場合public NamedParameterStatement getMergeStatement() throws java.sql.SQLException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
コンストラクタにクラスまたはResultSet以外のオブジェクトを指定してORMapperインスタンスを作成している必要があります。
このメソッドではデータベース・スキーマを参照するため、
暗黙的に DataSource.getConnection()メソッドが呼び出します。
DataSource.initialize()メソッドを使用してDataSourceが適切に初期化されている必要があります。
java.sql.SQLException - データベースアクセスエラーが発生した場合java.lang.IllegalArgumentException - 下位メソッドに不正な引数が渡された場合java.lang.IllegalAccessException - オブジェクトのフィールドにアクセスできない場合public NamedParameterStatement getMergeStatement(java.lang.Object obj) throws java.sql.SQLException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
コンストラクタにクラスまたはResultSet以外のオブジェクトを指定してORMapperインスタンスを作成している必要があります。
このメソッドではデータベース・スキーマを参照するため、
暗黙的に DataSource.getConnection()メソッドが呼び出します。
DataSource.initialize()メソッドを使用してDataSourceが適切に初期化されている必要があります。
obj - MERGE文の構築に使用するオブジェクトjava.sql.SQLException - データベースアクセスエラーが発生した場合java.lang.IllegalArgumentException - 下位メソッドに不正な引数が渡された場合java.lang.IllegalAccessException - オブジェクトのフィールドにアクセスできない場合public NamedParameterStatement getMergeStatement(java.sql.Connection cn) throws java.sql.SQLException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
コンストラクタにクラスまたはResultSet以外のオブジェクトを指定してORMapperインスタンスを作成している必要があります。
このメソッドでは指定された接続を使ってデータベース・スキーマを参照するため、
DataSourceが初期化されている必要がありません。
cn - データベース・スキーマの参照に使用する接続java.sql.SQLException - データベースアクセスエラーが発生した場合java.lang.IllegalArgumentException - 下位メソッドに不正な引数が渡された場合java.lang.IllegalAccessException - オブジェクトのフィールドにアクセスできない場合public NamedParameterStatement getMergeStatement(java.sql.Connection cn, java.lang.Object obj) throws java.sql.SQLException, java.lang.IllegalArgumentException, java.lang.IllegalAccessException
コンストラクタにクラスまたはResultSet以外のオブジェクトを指定してORMapperインスタンスを作成している必要があります。
このメソッドでは指定された接続を使ってデータベース・スキーマを参照するため、
DataSourceが初期化されている必要がありません。
cn - データベース・スキーマの参照に使用する接続obj - MERGE文の構築に使用するオブジェクトjava.sql.SQLException - データベースアクセスエラーが発生した場合java.lang.IllegalArgumentException - 下位メソッドに不正な引数が渡された場合java.lang.IllegalAccessException - オブジェクトのフィールドにアクセスできない場合