java mysql types_MySQL 5.1 英文手册 :: 21.3.4.3 Java, JDBC and MySQL Types

21.3.4.3. Java, JDBC and MySQL Types

MySQL Connector/J is flexible in the way it handles conversions

between MySQL data types and Java data types.

In general, any MySQL data type can be converted to a

java.lang.String, and any numerical type can be converted to any

of the Java numerical types, although round-off, overflow, or

loss of precision may occur.

Starting with Connector/J 3.1.0, the JDBC driver will issue

warnings or throw DataTruncation exceptions as is required by

the JDBC specification unless the connection was configured not

to do so by using the property

jdbcCompliantTruncation and setting it to

false.

The conversions that are always guaranteed to work are listed in

the following table:

Connection Properties - Miscellaneous.

These MySQL Data Types

Can always be converted to these Java

types

CHAR, VARCHAR, BLOB, TEXT, ENUM, and SET

java.lang.String, java.io.InputStream, java.io.Reader,

java.sql.Blob, java.sql.Clob

FLOAT, REAL, DOUBLE PRECISION, NUMERIC, DECIMAL, TINYINT,

SMALLINT, MEDIUMINT, INTEGER, BIGINT

java.lang.String, java.lang.Short, java.lang.Integer,

java.lang.Long, java.lang.Double,

java.math.BigDecimal

DATE, TIME, DATETIME, TIMESTAMP

java.lang.String, java.sql.Date, java.sql.Timestamp

Note

Round-off, overflow or loss of precision may occur if you

choose a Java numeric data type that has less precision or

capacity than the MySQL data type you are converting to/from.

The ResultSet.getObject() method uses the

type conversions between MySQL and Java types, following the

JDBC specification where appropriate. The value returned by

ResultSetMetaData.GetColumnClassName() is

also shown below. For more information on the

java.sql.Types classes see

Java

2 Platform Types.

MySQL Types to Java Types for ResultSet.getObject().

MySQL Type Name

Return value of

GetColumnClassName

Returned as Java Class

BIT(1) (new in MySQL-5.0)

BIT

java.lang.Boolean

BIT( > 1) (new in MySQL-5.0)

BIT

byte[]

TINYINT

TINYINT

java.lang.Boolean if the configuration property

tinyInt1isBit is set to

true (the default) and the

storage size is 1, or

java.lang.Integer if not.

BOOL, BOOLEAN

TINYINT

See TINYINT, above as these are aliases for

TINYINT(1), currently.

SMALLINT[(M)] [UNSIGNED]

SMALLINT [UNSIGNED]

java.lang.Integer (regardless if UNSIGNED or not)

MEDIUMINT[(M)] [UNSIGNED]

MEDIUMINT [UNSIGNED]

java.lang.Integer, if UNSIGNED

java.lang.Long (C/J 3.1 and

earlier), or

java.lang.Integer for C/J 5.0

and later

INT,INTEGER[(M)] [UNSIGNED]

INTEGER [UNSIGNED]

java.lang.Integer, if UNSIGNED

java.lang.Long

BIGINT[(M)] [UNSIGNED]

BIGINT [UNSIGNED]

java.lang.Long, if UNSIGNED

java.math.BigInteger

FLOAT[(M,D)]

FLOAT

java.lang.Float

DOUBLE[(M,B)]

DOUBLE

java.lang.Double

DECIMAL[(M[,D])]

DECIMAL

java.math.BigDecimal

DATE

DATE

java.sql.Date

DATETIME

DATETIME

java.sql.Timestamp

TIMESTAMP[(M)]

TIMESTAMP

java.sql.Timestamp

TIME

TIME

java.sql.Time

YEAR[(2|4)]

YEAR

If yearIsDateType configuration property is set to

false, then the returned object type is

java.sql.Short. If set to

true (the default) then an object of type

java.sql.Date (with the date

set to January 1st, at midnight).

CHAR(M)

CHAR

java.lang.String (unless the character set for

the column is BINARY, then

byte[] is returned.

VARCHAR(M) [BINARY]

VARCHAR

java.lang.String (unless the character set for

the column is BINARY, then

byte[] is returned.

BINARY(M)

BINARY

byte[]

VARBINARY(M)

VARBINARY

byte[]

TINYBLOB

TINYBLOB

byte[]

TINYTEXT

VARCHAR

java.lang.String

BLOB

BLOB

byte[]

TEXT

VARCHAR

java.lang.String

MEDIUMBLOB

MEDIUMBLOB

byte[]

MEDIUMTEXT

VARCHAR

java.lang.String

LONGBLOB

LONGBLOB

byte[]

LONGTEXT

VARCHAR

java.lang.String

ENUM('value1','value2',...)

CHAR

java.lang.String

SET('value1','value2',...)

CHAR

java.lang.String

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值