MySql数据类型与Java数据类型的对应关系

MySQL Connector/J 对于 MySql 数据类型和 Java 数据类型之间的转换是很灵活的。
一般来讲,任何 MySql 数据类型都可以被转换为一个 java.lang.String,任何 MySql 数字类型都可以被转换为任何一种 Java 数字类型(当然这样也可能出一些四舍五入,溢出,精度丢失之类的问题)。

转换表
MySql 数据类型 可以被转换成的 Java 类型
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

ResultSet.getObject() 方法遵循 JDBC 规范对 MySql 和 Java 的类型进行转换。

ResultSet.getObject() 对 MySql 类型和 Java 类型转换表
MySql 类型名 GetColumnClassName 返回值 返回的 Java 类
BIT(1)(MySQL-5.0 新引入) BIT java.lang.Boolean
BIT(大于 1) (MySQL-5.0 新引入) BIT byte[]
TINYINT TINYINT 如果 tinyInt1isBit 配置设置为 true(默认为 true),是 java.lang.Boolean,存储空间 为 1;否则是为 java.lang.Integer
BOOL, BOOLEAN TINYINT 参见 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)] 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 如果 yearIsDateType  配置设置为 false,返回的对象类型为 java.sql.Short;如果设置为 true(默认为 true),返回的对象类型是 java.sql.Date,其具体时间是为一月一日零时零分
CHAR(M) CHAR java.lang.String(除非该列字符集设置为 BINARY,那样返回 byte[])
VARCHAR(M) [BINARY] VARCHAR java.lang.String(除非该列字符集设置为 BINARY,那样返回 byte[])
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
ET(‘value1‘,‘value2‘,...) CHAR java.lang.String

原文地址:https://blog.csdn.net/defonds/article/details/46681701

原文地址:https://www.cnblogs.com/zlingchao/p/9427054.html

时间: 2024-10-10 02:27:07

MySql数据类型与Java数据类型的对应关系的相关文章

JDBC数据类型、Java数据类型、标准sql类型

本文转自:http://www.cnblogs.com/shishm/archive/2012/01/30/2332142.html 谢谢原作者细心的总结,很赞! 本概述是从<JDBCTM Database Access from JavaTM: A Tutorial and Annotated Reference>这本书中摘引来的.JavaSoft 目前正在准备这本书.这本书是一本教程,同时也是 JDBC 的重要参考手册,它将作为 Java 系列的组成部份,在 1997 年春季由 Addis

【数据库学习笔记】(3)SQL数据类型与Java数据类型的对应关系

java 数据类型

java 是一种强类型编程语言,说明java 程序中用到的所有变量都必须是有明确定义的数据类型. java 数据类型可以分为基本数据类型 和 引用数据类型. 基本数据类型: 数值类型 :整数类型 (byte.short.int.long) .浮点类型 (float.double) 字符类型 :char 布尔类型 :boolean 引用数据类型: 类(class) .数组 .接口(interface) 基本数据类型 和 引用数据类型的差别在于 :基本类型的变量和对象句柄存储在栈内存中,占用大小固定

java数据类型总结与数据类型转换问题

(1)数据类型总结 java数据类型主要有Boolean.byte.int.short.char.long.float.double. byte类型数据占1个字节,8位,最高位表示符号,则表示范围是:-2^7~2^7-1 int类型数据占4个字节,共32位,最高位表示符号,则表示范围是:-2^31~2^31-1 short类型数据占2个字节,共16位,最高位表示符号,则表示范围是:-2^15~2^15-1 long类型数据占8个字节,共64位,最高位表示符号,则范围是:-2^63~2^63-1

2、数据类型和运算符——Java数据类型

一.强类型语言和弱类型语言: 1.1 强类型语言 强类型语言是一种强制类型定义的语言,一旦某一个变量被定义类型,如果不经过强制转换,则它永远就是该数据类型了,强类型语言包括Java..net .Python.C++等语言. 强类型包含两个方面: (1)所有变量必须先声明.后使用 (2)指定类型的变量只能接受类型与之匹配的值 举个例子:定义了一个整数,如果不进行强制的类型转换,则不可以将该整数转化为字符串. 1.2 弱类型语言 弱类型语言是一种弱类型定义的语言,某一个变量被定义类型,该变量可以根据

mysql和java数据类型对应关系

数值型 整型 JDBC tinyint         java.lang.Integer smallint mediumint       java.lang.Long int           bigint         java.math.BigInteger 单精度浮点型 JDBC float         java.lang.Float 双精度浮点型 JDBC double         java.lang.Double 其他 JDBC decimal         java

Delphi XE8中Delphi和JAVA数据类型对应关系!

Delphi XE8中Delphi和Java数据类型对应关系所在单元文件:Androidapi.JNI.JavaTypes 对应关系: JObject = interface;//java.lang.Object JInputStream = interface;//java.io.InputStream JByteArrayInputStream = interface;//java.io.ByteArrayInputStream JOutputStream = interface;//jav

MYsql 数据类型与java对于类型

MYSQL            JAVA int                 INTEGER decimal          BigDecimal datetime         Date timestmap        Date              (默认值 CURRENT_TIMESTAMP) varchar                 String bigint                    Long tinyint                   Byt

mysql数据类型和Java数据类型对比一览

MySQL Types to Java Types for ResultSet.getObject() MySQL Type Name Return value ofGetColumnClassName 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