Package nablarch.core.db.statement
Class SqlRow
簡易取得結果1行分のデータを保持するクラス。
各カラムの内容は、そのデータ型に対応したgetメソッドにより取得できる。
この際、カラム名の大文字/小文字の違い、アンダースコアの有無は区別せず、
同一のカラム名とみなされる。
例:
- USER_NAMEとuser_nameは同一のカラム名とみなされる。(大文字小文字の区別はしないため)
- USER_NAMEとuserNameは同一のカラム名とみなされる。(アンダースコアの有無は区別しないため)
- Author:
- Hisaaki Sioiri
-
Nested Class Summary
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K extends Object,
V extends Object>, AbstractMap.SimpleImmutableEntry<K extends Object, V extends Object> -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionfinal BigDecimal
getBigDecimal
(String colName) 指定されたカラムの情報をBigDecimal
として取得する。getBoolean
(String colName) 指定されたカラムの情報をBoolean
として取得する。byte[]
指定されたカラムの情報をbyte配列として取得する。protected int
getColType
(String colName) 指定されたカラム名のカラムタイプ(Types
)を取得する。指定されたカラムの情報をDate
として取得する。final Integer
getInteger
(String colName) 指定されたカラムの情報をInteger
として取得する。final Long
指定されたカラムの情報をLong
として取得する。final String
指定されたカラムの情報を文字列で取得する。getTimestamp
(String colName) 指定されたカラムの情報をTimestamp
として取得する。Methods inherited from class nablarch.core.util.map.MultipleKeyCaseMap
addKeyConversion, containsKey, copyValueOf, get, getActualDataKey, getDelegateMap, put, putAll
Methods inherited from class nablarch.core.util.map.MapWrapper
clear, containsValue, entrySet, equals, getDelegateMapOfType, hashCode, isEmpty, keySet, remove, size, toString, values
Methods inherited from class java.util.AbstractMap
clone
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Constructor Details
-
SqlRow
指定されたMapを元にオブジェクトを構築する。- Parameters:
row
- 1行分のデータを持つMapcolType
- カラムタイプ
-
SqlRow
指定されたMapを元にオブジェクトを構築する。- Parameters:
row
- 1行分のデータを持つMapcolType
- カラムタイプignored
- カラム名の紐付け情報(本引数は使用しない)
-
SqlRow
コピー元となるSqlRow
からオブジェクトを構築する。- Parameters:
orig
- コピー元となるインスタンス
-
-
Method Details
-
getString
指定されたカラムの情報を文字列で取得する。- Parameters:
colName
- カラム名- Returns:
- 指定されたカラム名に対応するString型データ(toString()した結果を返却する)。
データベースの検索結果が
null
の場合には、null
を返却する - Throws:
IllegalArgumentException
- 指定されたカラム名が存在しない場合
-
getInteger
指定されたカラムの情報をInteger
として取得する。 データベースから取得したデータがInteger型である場合、その値をそのまま返却する。
それ以外の型の場合、そのデータの文字列表現(toString()した結果)を、Integer.valueOf(String)
を使用してInteger型に変換し返却する。 データベースから取得したデータがどのような文字列表現を返却するかは、 使用するRDBMSのJDBCドライバに依存する。 以下に例を示す。| 文字列表現 | 結果 | |------------+-----------------------| | "1" | 1 | | "-1" | -1 | |"2147483648"| NumberFormatException | | "1.0" | NumberFormatException | | "ABC" | NumberFormatException |
- Parameters:
colName
- カラム名- Returns:
- 指定されたカラム名に対応するInteger型データ。
データベースの検索結果が
null
の場合には、null
を返却する - Throws:
NumberFormatException
- データベースから取得したデータの文字列表現が、Integer型として解釈できない場合IllegalArgumentException
- 指定されたカラム名が存在しない場合
-
getLong
指定されたカラムの情報をLong
として取得する。 データベースから取得したデータがLong型である場合、その値をそのまま返却する。
それ以外の型の場合、そのデータの文字列表現(toString()した結果)を、Long.valueOf(String)
を使用してLong型に変換し返却する。 データベースから取得したデータがどのような文字列表現を返却するかは、 使用するRDBMSのJDBCドライバに依存する。 以下に例を示す。| 文字列表現 | 結果 | |------------+-----------------------| | "1" | 1 | | "-1" | -1 | |"2147483648"| 2147483648 | | "1.0" | NumberFormatException | | "ABC" | NumberFormatException |
- Parameters:
colName
- カラム名- Returns:
- 指定されたカラム名に対応するLong型データ。
データベースの検索結果が
null
の場合には、null
を返却する - Throws:
NumberFormatException
- データベースから取得したデータの文字列表現が、Long型として解釈できない場合IllegalArgumentException
- 指定されたカラム名が存在しない場合
-
getBoolean
指定されたカラムの情報をBoolean
として取得する。 以下の値の場合、Boolean.TRUE
を返却し、それ以外は全てBoolean.FALSE
を返却する。- booleanの
true
の場合 String
の場合で"1" or "on" or "true"の場合(大文字、小文字の区別はしない)- 数値型で0以外の場合
IllegalStateException
を送出する。- Parameters:
colName
- カラム名- Returns:
true
orfalse
を返却する。 データベースの検索結果がnull
の場合には、null
を返却する- Throws:
IllegalArgumentException
- 指定されたカラム名が存在しない場合
- booleanの
-
getBigDecimal
指定されたカラムの情報をBigDecimal
として取得する。- Parameters:
colName
- カラム名- Returns:
- 指定されたカラム名に対応するBigDecimal型データ。
データベースの検索結果が
null
の場合には、null
を返却する - Throws:
NumberFormatException
- データベースから取得したデータの文字列表現(toString()した結果)が、BigDecimal型として解釈できない場合IllegalArgumentException
- 指定されたカラム名が存在しない場合
-
getDate
指定されたカラムの情報をDate
として取得する。 データベースから取得したデータのデータタイプが下記のデータの場合、java.util.Dateとして取得する 下記に該当しない場合は、IllegalStateException
を送出する。
- Parameters:
colName
- カラム名- Returns:
- 指定されたカラム名に対応するjava.util.Date型データ。
データベースの検索結果が
null
の場合には、null
を返却する - Throws:
IllegalArgumentException
- 指定されたカラム名が存在しない場合
-
getTimestamp
指定されたカラムの情報をTimestamp
として取得する。 データベースから取得したデータのデータタイプが下記のデータの場合、Timestamp
として取得する。 下記に該当しない場合は、IllegalStateException
を送出する。
- Parameters:
colName
- カラム名- Returns:
- 指定されたカラム名に対応するjava.sql.Timestamp型データ
- Throws:
IllegalArgumentException
- 指定されたカラム名が存在しない場合
-
getBytes
指定されたカラムの情報をbyte配列として取得する。 データベースから取得したデータのデータタイプが下記のデータの場合、byte配列として取得する。
下記に該当しない場合は、IllegalStateException
を送出する。- Parameters:
colName
- カラム名- Returns:
- 指定されたカラム名に対応するbyte配列データ。
データベースの検索結果が
null
の場合には、null
を返却する - Throws:
IllegalArgumentException
- 指定されたカラム名が存在しない場合DbAccessException
- データタイプがBLOB
型である場合で、データの読み込みに失敗した場合
-
getColType
指定されたカラム名のカラムタイプ(Types
)を取得する。- Parameters:
colName
- カラム名- Returns:
- カラムタイプ
-