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

来源:互联网 发布:资源分配算法 编辑:程序博客网 时间:2024/05/17 06:32
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.ClobFLOAT, 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.BigDecimalDATE, 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.BooleanBIT(大于 1) (MySQL-5.0 新引入)BITbyte[]TINYINTTINYINT如果 tinyInt1isBit 配置设置为 true(默认为 true),是 java.lang.Boolean,存储空间 为 1;否则是为 java.lang.IntegerBOOL, 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.LongBIGINT[(M)] [UNSIGNED]BIGINT [UNSIGNED]java.lang.Long;无符的话是 java.math.BigIntegerFLOAT[(M,D)]FLOATjava.lang.FloatDOUBLE[(M,B)]DOUBLEjava.lang.DoubleDECIMAL[(M[,D])]DECIMALjava.math.BigDecimalDATEDATEjava.sql.DateDATETIMEDATETIMEjava.sql.TimestampTIMESTAMP[(M)]TIMESTAMPjava.sql.TimestampTIMETIMEjava.sql.TimeYEAR[(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.StringBLOBBLOBbyte[]TEXTVARCHARjava.lang.StringMEDIUMBLOBMEDIUMBLOBbyte[]MEDIUMTEXTVARCHARjava.lang.StringLONGBLOBLONGBLOBbyte[]LONGTEXTVARCHARjava.lang.StringENUM('value1','value2',...)CHARjava.lang.StringET('value1','value2',...)CHARjava.lang.String
原创粉丝点击