Mybatis対応javaとデータベースのデータ型
10271 ワード
Mybatis java SQL
integer int OR Integer INTEGER
long long OR java.lang.Long BIGINT
short short OR java.lang.Short SMALLINT
float float OR java.lang.Float FLOAT
double double OR java.lang.Double DOUBLE
big_decimal java.math.BigDecimal NUMERIC
character java.lang.String CHAR(1)
string java.lang.String VARCHAR
byte byte OR java.lang.Byte TINYINT
boolean boolean OR java.lang.Boolean BIT
yes_no boolean OR java.lang.Boolean CHAR(1) ('Y' OR 'N')
true_false boolean OR java.lang.Boolean CHAR(1) ('Y' OR 'N')
date java.util.Date OR java.sql.Date DATE
time java.util.Date OR java.sql.Time TIME
timestamp java.util.Date OR java.sql.TimeStamp TIMESTAMP
calendar java.util.Calendar TIMESTAMP
calendar_date java.util.Calendar DTAE
binary byte[] VARBINARY OR BLOB
text java.lang.String CLOB
serializable java.io.Seriailzable VARBINARY OR BLOB
clob java.sql.Clob CLOB
blob java.sql.Blob BLOB
class java.lang.Class VARCHAR
locale java.util.Locale VARCHAR
timezone java.util.TimeZone VARCHAR
currency java.util.Currency VARCHAR
JDBC Type Java Type
CHAR String
VARCHAR String
LONGVARCHAR String
NUMERIC java.math.BigDecimal
DECIMAL java.math.BigDecimal
BIT boolean
BOOLEAN boolean
TINYINT byte
SMALLINT short
INTEGER int
BIGINT long
REAL float
FLOAT double
DOUBLE double
BINARY byte[]
VARBINARY byte[]
LONGVARBINARY byte[]
DATE java.sql.Date
TIME java.sql.Time
TIMESTAMP java.sql.Timestamp
CLOB Clob
BLOB Blob
ARRAY Array
DISTINCT mapping of underlying type
STRUCT Struct
REF Ref
DATALINK java.net.URL[color=red][/color]
sql server mssql
JDBC JDBC
1 int java.lang.Integer 4
2 varchar java.lang.String 12
3 char java.lang.String 1
4 nchar java.lang.String 1
5 nvarchar java.lang.String 12
6 text java.lang.String -1
7 ntext java.lang.String -1
8 tinyint java.lang.Integer -6
9 int java.lang.Integer 4
10 tinyint java.lang.Integer -6
11 smallint java.lang.Integer 5
12 bit java.lang.Boolean -7
13 bigint java.lang.Long -5
14 float java.lang.Double 6
15 decimal java.math.BigDecimal 3
16 money java.math.BigDecimal 3
17 smallmoney java.math.BigDecimal 3
18 numeric java.math.BigDecimal 2
19 real java.lang.Float 7
20 uniqueidentifier java.lang.String 1
21 smalldatetime java.sql.Timestamp 93
22 datetime java.sql.Timestamp 93
23 timestamp byte[] -2
24 binary byte[] -2
25 varbinary byte[] -3
26 image byte[] -4
27 sql_variant java.lang.String 12
すべてのデータベース
1:Javaデータ型とMySqlデータ型の対照表
タイプ名
長さを表示
データベースのタイプ
JAVAタイプ
JDBCタイプインデックス(int)
VARCHAR
L+N
VARCHAR
java.lang.String
12
CHAR
N
CHAR
java.lang.String
1
BLOB
L+N
BLOB
java.lang.byte[]
-4
TEXT
65535
VARCHAR
java.lang.String
-1
INTEGER
4
INTEGER UNSIGNED
java.lang.Long
4
TINYINT
3
TINYINT UNSIGNED
java.lang.Integer
-6
SMALLINT
5
SMALLINT UNSIGNED
java.lang.Integer
5
MEDIUMINT
8
MEDIUMINT UNSIGNED
java.lang.Integer
4
BIT
1
BIT
java.lang.Boolean
-7
BIGINT
20
BIGINT UNSIGNED
java.math.BigInteger
-5
FLOAT
4+8
FLOAT
java.lang.Float
7
DOUBLE
22
DOUBLE
java.lang.Double
8
DECIMAL
11
DECIMAL
java.math.BigDecimal
3
BOOLEAN
1
同TINYINT
ID
11
PK (INTEGER UNSIGNED)
java.lang.Long
4
DATE
10
DATE
java.sql.Date
91
TIME
8
TIME
java.sql.Time
92
DATETIME
19
DATETIME
java.sql.Timestamp
93
TIMESTAMP
19
TIMESTAMP
java.sql.Timestamp
93
YEAR
4
YEAR
java.sql.Date
91
*bolbについては、画像のデータベース記憶に一般的に用いられ、原理は、画像をバイナリにしてjavaにbyte[]配列に対応する記憶方式である.
boolenタイプについてはmysqlデータベースではintタイプで代用した方が良いと個人的に考えられておりbit操作には不便であり,特にwebページ開発を有するプロジェクトでは0/1を表しjavaタイプに対応するIntegerが好ましい.
2:sqlserverデータベース対応javaのデータ型
SQL Serverタイプ
JDBCタイプ(java.sql.Type)
Java言語タイプ
bigint
BIGINT
long
timestamp binary
BINARY
byte[]
bit
BIT
boolean
char
CHAR
String
decimal money smallmoney
DECIMAL
java.math.BigDecimal
float
DOUBLE
double
int
INTEGER
int
image varbinary(max)
LONGVARBINARY
byte[]
varchar(max) text
LONGVARCHAR
String
nchar
CHAR NCHAR (Java SE 6.0)
String
nvarchar
VARCHAR NVARCHAR (Java SE 6.0)
String
nvarchar(max) ntext
LONGVARCHAR LONGNVARCHAR (Java SE 6.0)
String
numeric
NUMERIC
java.math.BigDecimal
real
REAL
float
smallint
SMALLINT
short
datetime smalldatetime
TIMESTAMP
java.sql.Timestamp
varbinary udt
VARBINARY
byte[]
varchar
VARCHAR
String
tinyint
TINYINT
short
uniqueidentifier
CHAR
String
xml
LONGVARCHAR SQLXML (Java SE 6.0)
String SQLXML
time
TIME (1)
java.sql.Time (1)
date
DATE
java.sql.Date
datetime2
TIMESTAMP
java.sql.Timestamp
datetimeoffset (2)
microsoft.sql.Types.DATETIMEOFFSET
microsoft.sql.DateTimeOffset
3:sqlserverとOracleデータ型の対応関係
SqlServer 2 kからOracleへの変換 10g
列名
SqlServerデータ型
SqlServer長
Oracleデータ型
column1
bigint
8
NUMBER(19)
column2
binary
50
RAW(50)
column3
bit
1
NUMBER(2)
column4
char
10
CHAR(10)
column5
datetime
8
DATE
column6
decimal
9
NUMBER(18)
column7
float
8
BINARY_DOUBLE
column8
image
16
BLOB
column9
int
4
NUMBER(10)
column10
money
8
NUMBER(19,4)
column11
nchar
10
NCHAR(10)
column12
ntext
16
NCLOB
column13
numeric
9
NUMBER(18)
column14
nvarchar
50
NVARCHAR2(50)
column15
real
4
BINARY_FLOAT
column16
smalldatetime
4
DATE
column17
smallint
2
NUMBER(5)
column18
smallmoney
4
NUMBER(10,4)
column19
sql_variant
BLOB
column20
text
16
CLOB
column21
timestamp
8
RAW(8)
column22
tinyint
1
NUMBER(3)
column23
uniqueidentifier
16
BLOB
column24
varbinary
50
RAW(50)
column25
varchar
50
VARCHAR2(50)
Oracle 10 gからSqlServer 2 kへの変換
Oracle列名
Oracleデータ型
SqlServer列名
SqlServerデータ型
SqlServerデータ長
COLUMN1
BINARY_DOUBLE
COLUMN1
float
8
COLUMN2
BINARY_FLOAT
COLUMN2
real
4
COLUMN3
BLOB
COLUMN3
image
16
COLUMN4
CLOB
COLUMN4
ntext
16
COLUMN5
CHAR(10)
COLUMN5
nchar
10
COLUMN6
DATE
COLUMN6
datetime
8
COLUMN12
NUMBER
COLUMN12
numeric
13
COLUMN13
NVARCHAR2(10)
COLUMN13
nvarchar
10
COLUMN14
RAW(10)
COLUMN14
varbinary
10
COLUMN15
TIMESP(6)
COLUMN15
datetime
8
COLUMN16
TIMESP(6) WITH LOCAL TIME ZONE
COLUMN16
datetime
8
COLUMN17
TIMESP(6) WITH TIME ZONE
COLUMN17
datetime
8
COLUMN18
VARCHAR2(10)
COLUMN18
nvarchar
10
COLUMN7
INTERVAL DAY(2) TO SECOND(6)
COLUMN7
nvarchar
30
COLUMN8
INTERVAL YEAR(2) TO MONTH
COLUMN8
nvarchar
14
COLUMN9
LONG
COLUMN9
ntext
16
COLUMN10
LONG RAW
COLUMN10
image
16
COLUMN11
NCLOB
COLUMN11
ntext
16
上記は複数のブログを抜粋して整理しています.