Java 数据类型和 MySql 数据类型对应一览表

MySQL Connector/J 对于 MySql 数据类型和 Java 数据类型之间的转换是很灵活的。
一般来讲,任何 MySql 数据类型都可以被转换为一个 java.lang.String,任何 MySql 数字类型都可以被转换为任何一种 Java 数字类型(当然这样也可能出一些四舍五入,溢出,精度丢失之类的问题)。
转换表
MySql 数据类型可以被转换成的 Java 类型
CHAR, VARCHAR, BLOB, TEXT, ENUM, and SETjava.lang.String, java.io.InputStream, java.io.Reader, java.sql.Blob, java.sql.Clob
FLOAT, REAL, DOUBLE PRECISION, NUMERIC, DECIMAL, TINYINT, SMALLINT, MEDIUMINT, INTEGER, BIGINTjava.lang.String, java.lang.Short, java.lang.Integer, java.lang.Long, java.lang.Double, java.math.BigDecimal
DATE, TIME, DATETIME, TIMESTAMPjava.lang.String, java.sql.Date, java.sql.Timestamp

ResultSet.getObject() 方法遵循 JDBC 规范对 MySql 和 Java 的类型进行转换。
ResultSet.getObject() 对 MySql 类型和 Java 类型转换表
MySql 类型名GetColumnClassName 返回值返回的 Java 类
BIT(1)(MySQL-5.0 新引入)BITjava.lang.Boolean
BIT(大于 1) (MySQL-5.0 新引入)BITbyte[]
TINYINTTINYINT如果 tinyInt1isBit 配置设置为 true(默认为 true),是 java.lang.Boolean,存储空间 为 1;否则是为 java.lang.Integer
BOOL, BOOLEANTINYINT参见 TINYINT。这些是 TINYINT(1) 另一种写法而已
SMALLINT[(M)] [UNSIGNED]SMALLINT [UNSIGNED]java.lang.Integer(不管是否无符)
MEDIUMINT[(M)] [UNSIGNED]MEDIUMINT [UNSIGNED]java.lang.Integer;无符的话是 java.lang.Long(C/J 3.1 或更早),或者 java.lang.Integer(C/J 5.0 或更晚)
INT,INTEGER[(M)] [UNSIGNED]INTEGER [UNSIGNED]java.lang.Integer;无符的话是 java.lang.Long
BIGINT[(M)] [UNSIGNED]BIGINT [UNSIGNED]java.lang.Long;无符的话是 java.math.BigInteger
FLOAT[(M,D)]FLOATjava.lang.Float
DOUBLE[(M,B)]DOUBLEjava.lang.Double
DECIMAL[(M[,D])]DECIMALjava.math.BigDecimal
DATEDATEjava.sql.Date
DATETIMEDATETIMEjava.sql.Timestamp
TIMESTAMP[(M)]TIMESTAMPjava.sql.Timestamp
TIMETIMEjava.sql.Time
YEAR[(2|4)]YEAR如果 yearIsDateType  配置设置为 false,返回的对象类型为 java.sql.Short;如果设置为 true(默认为 true),返回的对象类型是 java.sql.Date,其具体时间是为一月一日零时零分
CHAR(M)CHARjava.lang.String(除非该列字符集设置为 BINARY,那样返回 byte[])
VARCHAR(M) [BINARY]VARCHARjava.lang.String(除非该列字符集设置为 BINARY,那样返回 byte[])
BINARY(M)BINARYbyte[]
VARBINARY(M)VARBINARYbyte[]
TINYBLOBTINYBLOBbyte[]
TINYTEXTVARCHARjava.lang.String
BLOBBLOBbyte[]
TEXTVARCHARjava.lang.String
MEDIUMBLOBMEDIUMBLOBbyte[]
MEDIUMTEXTVARCHARjava.lang.String
LONGBLOBLONGBLOBbyte[]
LONGTEXTVARCHARjava.lang.String
ENUM('value1','value2',...) CHARjava.lang.String
ET('value1','value2',...)CHARjava.lang.String

原文链接: http://dev.mysql.com/doc/connector-j/en/connector-j-reference-type-conversions.html
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页