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
 上記は複数のブログを抜粋して整理しています.