Oracleデータ型とMyBatisのJDBTtypeとMyBatisのデフォルト別名
8579 ワード
Oracleデータ型とMyBatisのJDBTtype
SQLデータ型
JDBCタイプコード
標準のJavaタイプ
Oracle拡張Javaタイプ
1.0標準のJDBCタイプ:
2.0標準のJDBCタイプ:
ユーザー定義オブジェクト
ユーザー定義の参照
ユーザー定義の集合
Oracle拡張:
N/A
N/A
MyBatis-Type Handlersデフォルトでサポートされているタイプのプロセッサ
タイププロセッサ
Javaタイプ
JDBCタイプ
BooleanTypeHandler
java.lang.Boolean,boolean
データベース互換性 BOOLEAN
ByteTypeHandler
java.lang.Byte, byte
データベース互換性 NUMERIC または BYTE
ShortTypeHandler
java.lang.Short, short
データベース互換性 NUMERIC または SHORT INTEGER
IntegerTypeHandler
java.lang.Integer, int
データベース互換性 NUMERIC または INTEGER
LongTypeHandler
java.lang.Long, long
データベース互換性 NUMERIC または LONG INTEGER
FloatTypeHandler
java.lang.Float, float
データベース互換性 NUMERIC または FLOAT
DoubleTypeHandler
java.lang.Double,double
データベース互換性 NUMERIC または DOUBLE
BigDecimalTypeHandler
java.math.BigDecimal
データベース互換性 NUMERIC または DECIMAL
StringTypeHandler
java.lang.String
CHAR, VARCHAR
ClobReaderTypeHandler
java.io.Reader
-
ClobTypeHandler
java.lang.String
CLOB, LONGVARCHAR
NStringTypeHandler
java.lang.String
NVARCHAR, NCHAR
NClobTypeHandler
java.lang.String
NCLOB
BlobInputStreamTypeHandler
java.io.InputStream
-
ByteArrayTypeHandler
byte[]
データベース互換バイトストリームタイプ
BlobTypeHandler
byte[]
BLOB, LONGVARBINARY
DateTypeHandler
java.util.Date
TIMESTAMP
DateOnlyTypeHandler
java.util.Date
DATE
TimeOnlyTypeHandler
java.util.Date
TIME
SqlTimestampTypeHandler
java.sql.Timestamp
TIMESTAMP
SqlDateTypeHandler
java.sql.Date
DATE
SqlTimeTypeHandler
java.sql.Time
TIME
ObjectTypeHandler
Any
OTHER またはタイプが指定されていません
EnumTypeHandler
Enumeration Type
VARCHAR-インデックスではなく列挙された名前を格納する互換性のある文字列タイプ
EnumOrdinalTypeHandler
Enumeration Type
任意の互換性 NUMERIC または DOUBLE タイプ、名前ではなく列挙されたインデックスを格納
MyBatisのデフォルトの別名
SQLデータ型
JDBCタイプコード
標準のJavaタイプ
Oracle拡張Javaタイプ
1.0標準のJDBCタイプ:
CHAR
java.sql.Types.CHAR
java.lang.String
oracle.sql.CHAR
VARCHAR2
java.sql.Types.VARCHAR
java.lang.String
oracle.sql.CHAR
LONG
java.sql.Types.LONGVARCHAR
java.lang.String
oracle.sql.CHAR
NUMBER
java.sql.Types.NUMERIC
java.math.BigDecimal
oracle.sql.NUMBER
NUMBER
java.sql.Types.DECIMAL
java.math.BigDecimal
oracle.sql.NUMBER
NUMBER
java.sql.Types.BIT
boolean
oracle.sql.NUMBER
NUMBER
java.sql.Types.TINYINT
byte
oracle.sql.NUMBER
NUMBER
java.sql.Types.SMALLINT
short
oracle.sql.NUMBER
NUMBER
java.sql.Types.INTEGER
int
oracle.sql.NUMBER
NUMBER
java.sql.Types.BIGINT
long
oracle.sql.NUMBER
NUMBER
java.sql.Types.REAL
float
oracle.sql.NUMBER
NUMBER
java.sql.Types.FLOAT
double
oracle.sql.NUMBER
NUMBER
java.sql.Types.DOUBLE
double
oracle.sql.NUMBER
RAW
java.sql.Types.BINARY
byte[]
oracle.sql.RAW
RAW
java.sql.Types.VARBINARY
byte[]
oracle.sql.RAW
LONGRAW
java.sql.Types.LONGVARBINARY
byte[]
oracle.sql.RAW
DATE
java.sql.Types.DATE
java.sql.Date
oracle.sql.DATE
DATE
java.sql.Types.TIME
java.sql.Time
oracle.sql.DATE
TIMESTAMP
java.sql.Types.TIMESTAMP
javal.sql.Timestamp
oracle.sql.TIMESTAMP
2.0標準のJDBCタイプ:
BLOB
java.sql.Types.BLOB
java.sql.Blob
oracle.sql.BLOB
CLOB
java.sql.Types.CLOB
java.sql.Clob
oracle.sql.CLOB
ユーザー定義オブジェクト
java.sql.Types.STRUCT
java.sql.Struct
oracle.sql.STRUCT
ユーザー定義の参照
java.sql.Types.REF
java.sql.Ref
oracle.sql.REF
ユーザー定義の集合
java.sql.Types.ARRAY
java.sql.Array
oracle.sql.ARRAY
Oracle拡張:
BFILE
oracle.jdbc.OracleTypes.BFILE
N/A
oracle.sql.BFILE
ROWID
oracle.jdbc.OracleTypes.ROWID
N/A
oracle.sql.ROWID
REF CURSOR
oracle.jdbc.OracleTypes.CURSOR
java.sql.ResultSet
oracle.jdbc.OracleResultSet
TIMESTAMP
oracle.jdbc.OracleTypes.TIMESTAMP
java.sql.Timestamp
oracle.sql.TIMESTAMP
TIMESTAMP WITH TIME ZONE
oracle.jdbc.OracleTypes.TIMESTAMPTZ
java.sql.Timestamp
oracle.sql.TIMESTAMPTZ
TIMESTAMP WITH LOCAL TIME ZONE
oracle.jdbc.OracleTypes.TIMESTAMPLTZ
java.sql.Timestamp
oracle.sql.TIMESTAMPLTZ
MyBatis-Type Handlersデフォルトでサポートされているタイプのプロセッサ
タイププロセッサ
Javaタイプ
JDBCタイプ
BooleanTypeHandler
java.lang.Boolean,boolean
データベース互換性 BOOLEAN
ByteTypeHandler
java.lang.Byte, byte
データベース互換性 NUMERIC または BYTE
ShortTypeHandler
java.lang.Short, short
データベース互換性 NUMERIC または SHORT INTEGER
IntegerTypeHandler
java.lang.Integer, int
データベース互換性 NUMERIC または INTEGER
LongTypeHandler
java.lang.Long, long
データベース互換性 NUMERIC または LONG INTEGER
FloatTypeHandler
java.lang.Float, float
データベース互換性 NUMERIC または FLOAT
DoubleTypeHandler
java.lang.Double,double
データベース互換性 NUMERIC または DOUBLE
BigDecimalTypeHandler
java.math.BigDecimal
データベース互換性 NUMERIC または DECIMAL
StringTypeHandler
java.lang.String
CHAR, VARCHAR
ClobReaderTypeHandler
java.io.Reader
-
ClobTypeHandler
java.lang.String
CLOB, LONGVARCHAR
NStringTypeHandler
java.lang.String
NVARCHAR, NCHAR
NClobTypeHandler
java.lang.String
NCLOB
BlobInputStreamTypeHandler
java.io.InputStream
-
ByteArrayTypeHandler
byte[]
データベース互換バイトストリームタイプ
BlobTypeHandler
byte[]
BLOB, LONGVARBINARY
DateTypeHandler
java.util.Date
TIMESTAMP
DateOnlyTypeHandler
java.util.Date
DATE
TimeOnlyTypeHandler
java.util.Date
TIME
SqlTimestampTypeHandler
java.sql.Timestamp
TIMESTAMP
SqlDateTypeHandler
java.sql.Date
DATE
SqlTimeTypeHandler
java.sql.Time
TIME
ObjectTypeHandler
Any
OTHER またはタイプが指定されていません
EnumTypeHandler
Enumeration Type
VARCHAR-インデックスではなく列挙された名前を格納する互換性のある文字列タイプ
EnumOrdinalTypeHandler
Enumeration Type
任意の互換性 NUMERIC または DOUBLE タイプ、名前ではなく列挙されたインデックスを格納
MyBatisのデフォルトの別名
public class TypeAliasRegistry {
private final Map> TYPE_ALIASES = new HashMap>();
public TypeAliasRegistry() {
registerAlias("string", String.class);
registerAlias("byte", Byte.class);
registerAlias("long", Long.class);
registerAlias("short", Short.class);
registerAlias("int", Integer.class);
registerAlias("integer", Integer.class);
registerAlias("double", Double.class);
registerAlias("float", Float.class);
registerAlias("boolean", Boolean.class);
registerAlias("byte[]", Byte[].class);
registerAlias("long[]", Long[].class);
registerAlias("short[]", Short[].class);
registerAlias("int[]", Integer[].class);
registerAlias("integer[]", Integer[].class);
registerAlias("double[]", Double[].class);
registerAlias("float[]", Float[].class);
registerAlias("boolean[]", Boolean[].class);
registerAlias("_byte", byte.class);
registerAlias("_long", long.class);
registerAlias("_short", short.class);
registerAlias("_int", int.class);
registerAlias("_integer", int.class);
registerAlias("_double", double.class);
registerAlias("_float", float.class);
registerAlias("_boolean", boolean.class);
registerAlias("_byte[]", byte[].class);
registerAlias("_long[]", long[].class);
registerAlias("_short[]", short[].class);
registerAlias("_int[]", int[].class);
registerAlias("_integer[]", int[].class);
registerAlias("_double[]", double[].class);
registerAlias("_float[]", float[].class);
registerAlias("_boolean[]", boolean[].class);
registerAlias("date", Date.class);
registerAlias("decimal", BigDecimal.class);
registerAlias("bigdecimal", BigDecimal.class);
registerAlias("biginteger", BigInteger.class);
registerAlias("object", Object.class);
registerAlias("date[]", Date[].class);
registerAlias("decimal[]", BigDecimal[].class);
registerAlias("bigdecimal[]", BigDecimal[].class);
registerAlias("biginteger[]", BigInteger[].class);
registerAlias("object[]", Object[].class);
registerAlias("map", Map.class);
registerAlias("hashmap", HashMap.class);
registerAlias("list", List.class);
registerAlias("arraylist", ArrayList.class);
registerAlias("collection", Collection.class);
registerAlias("iterator", Iterator.class);
registerAlias("ResultSet", ResultSet.class);
}