您的位置:首页 > 编程语言 > Java开发

Mysql/SQLServer数据类型与java基本数据类型的对应

2014-06-23 14:16 926 查看
问题描述:

假如现在你要对mysql数据库进行插入操作。因为要插入很多数据,为了效率,因此,你创建了一个PreparedStatement:insert into table values(?,?,?,?,?)

其中table表各列的数据类型分别为INTEGER,BIGINT,CHAR,TEXT,BINARY

现在你要向创建的PreparedStatement中的五个 ? 赋值。你已经知道PreparedStatement类有setBlog()、setBoolean()、setInt()、setDate()、setFloat()等等set方法,但是当你要向一个Mysql数据类型为BINARY的列赋值是,你不知道用PreparedStatement类的哪个set方法,setInt()?setString?还是setBytes()?没错,是setBytes()方法。可是如果mysql类型是decimal呢?是image呢?是bit呢?这个时候,如果你手里有一张Mysql/SQLServer数据类型与java基本数据类型的对应关系的表,那么一切问题都迎刃而解了。

好了,废话不多说,下面的列表就给出了Mysql/SQLServer数据类型与java基本数据类型的对应,而且给出了用整型表示的列类型和列名。有了这张表,以后调用set方法就有据可循了:

****************************************************Mysql *******************************************
列 ClassName
ColumnType
DisplaySize
TypeName
0: java.lang.Integer
ColumnType:4
11
INTEGER
1: java.lang.Integer
ColumnType:-6
4
TINYINT
2: java.lang.String
ColumnType:12
0
UNKNOWN
3: java.lang.Boolean
ColumnType:-7
1
TINYINT
4: java.lang.Integer
ColumnType:5
6
SMALLINT
5: java.lang.Integer
ColumnType:4
9
MEDIUMINT
6: java.lang.Integer
ColumnType:4
11
INTEGER
7: java.lang.Long
ColumnType:-5
20
BIGINT
8: java.lang.Double
ColumnType:8
22
DOUBLE
9: java.lang.Double
ColumnType:8
22
DOUBLE
10: java.lang.Float
ColumnType:7
12
FLOAT
11: java.lang.String
ColumnType:12
11
UNKNOWN
12: java.lang.String
ColumnType:12
11
UNKNOWN
13: java.lang.String
ColumnType:1
300
CHAR
14: java.lang.String
ColumnType:12
300
VARCHAR
15: java.sql.Date
ColumnType:91
10
DATE
16: java.sql.Time
ColumnType:92
8
TIME
17: java.sql.Date
ColumnType:91
4
YEAR
18: java.sql.Timestamp
ColumnType:93
19
TIMESTAMP
19: java.sql.Timestamp
ColumnType:93
19
DATETIME
20: [B
ColumnType:-3
255
TINYBLOB
21: [B
ColumnType:-4
65535
BLOB
22: [B
ColumnType:-4
16777215
MEDIUMBLOB
23: [B
ColumnType:-4
-1
BLOB
24: java.lang.String
ColumnType:12
255
TINYBLOB
25: java.lang.String
ColumnType:-1
65535
TEXT
26: java.lang.String
ColumnType:-1
16777215
MEDIUMBLOB
27: java.lang.String
ColumnType:-1
-1
TEXT
28: java.lang.String
ColumnType:1
3
CHAR
29: java.lang.String
ColumnType:1
3
CHAR
****************************************************MSSQL*******************************************

列 ClassName
ColumnType
DisplaySize
TYPENAME
0: java.lang.Integer
ColumnType:4
11
INT IDENTITY
1: java.lang.Long
ColumnType:-5
20
BIGINT
2: byte[]
ColumnType:-2
100
BINARY
3: java.lang.Boolean
ColumnType:-7
1
BIT
4: java.lang.String
ColumnType:1
10
CHAR
5: java.sql.Timestamp
ColumnType:93
23
DATETIME
6: java.sql.Timestamp
ColumnType:93
23
DATETIME
7: java.math.BigDecimal
ColumnType:3
20
DECIMAL
8: java.lang.Double
ColumnType:6
22
FLOAT
9: byte[]
ColumnType:-4
2147483647
IMAGE
10:java.math.BigDecimal
ColumnType:3
21
MONEY
11: java.lang.String
ColumnType:1
10
NCHAR
12: java.lang.String
ColumnType:-1
1073741823
NTEXT
13:java.math.BigDecimal
ColumnType:2
20
NUMERIC
14: java.lang.String
ColumnType:12
50
NVARCHAR
15: java.lang.Float
ColumnType:7
13
REAL
16: java.sql.Timestamp
ColumnType:93
16
SMALLDATETIME
17: java.lang.Integer
ColumnType:5
6
SMALLINT
18:java.math.BigDecimal
ColumnType:3
12
SMALLMONEY
19: java.lang.String
ColumnType:12
8000
SQL_VARIANT
20: java.lang.String
ColumnType:-1
2147483647
TEXT
21: byte[]
ColumnType:-2
16
TIMESTAMP
22: java.lang.Integer
ColumnType:-6
3
TINYINT
23: java.lang.String
ColumnType:1
36
UNIQUEIDENTIFIER
24: byte[]
ColumnType:-3
100
VARBINARY
25: java.lang.String
ColumnType:12
50
VARCHAR
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: