MySQL数据类型和java数据类型
来源:互联网 发布:跃动冲锋淘宝 编辑:程序博客网 时间:2024/06/05 06:43
(摘自MySQL官网手册)
26.3.3.3. Java,JDBC和MySQL类型
MySQL Connector/J在处理MySQL数据类型和Java数据类型的转换处理方面十分灵活。
尽管可能会出现舍入、溢出或精度损失,当在通常情况下,能够将任何MySQL数据类型转换为java.lang.String,并能将任何数值类型转换为Java数值类型。
从Connector/J 3.1.0开始,按照JDBC规范的要求,JDBC驱动程序将发出警告或抛出DataTruncation异常,除非通过使用“jdbcCompliantTruncation”属性并将其设为“假”,对连接进行相应配置取消了前述要求。
在下面的表格中,列出能可靠工作的转换:
表26.2. 转换表
下述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
注释:
与希望转换的MySQL数据类型相比,如果选择了精度较低的Java数值类型,可能会出现舍入、溢出或精度损失。
DATE, TIME, DATETIME, TIMESTAMP
java.lang.String, java.sql.Date, java.sql.Timestamp
在MySQL类型和Java类型之间,ResultSet.getObject()方法采用了下述类型转换方式,在可能的情况下遵从JDBC规范:
表26.3. 用于ResultSet.getObject()的MySQL类型和Java类型
MySQL类型名称
以Java类返回
BIT(1) (new in MySQL-5.0)
java.lang.Boolean
BIT( > 1) (new in MySQL-5.0)
byte[]
TINYINT
java.lang.Boolean,如果将配置属性“tinyInt1isBit”设为“真”(默认值),并将存储大小设为“1”;或java.lang.Integer,如果不是的话。
BOOL , BOOLEAN
请参见上面的TINYINT,它们目前是TINYINT(1)的别名。
SMALLINT[(M)] [UNSIGNED]
java.lang.Integer(无论是否为UNSIGNED)
MEDIUMINT[(M)] [UNSIGNED]
java.lang.Integer(无论是否为UNSIGNED)
INT,INTEGER[(M)] [UNSIGNED]
java.lang.Integer,如果是UNSIGNED,java.lang.Long
BIGINT[(M)] [UNSIGNED]
java.lang.Long,如果是UNSIGNED,java.math.BigInteger
FLOAT[(M,D)]
java.lang.Float
DOUBLE[(M,B)]
java.lang.Double
DECIMAL[(M[,D])]
java.math.BigDecimal
DATE
java.sql.Date
DATETIME
java.sql.Timestamp
TIMESTAMP[(M)]
java.sql.Timestamp
TIME
java.sql.Time
YEAR[(2|4)]
java.sql.Date(日期设为2月1日晚上2点)
CHAR(M)
java.lang.String(除非列的字符集是BINARY),然后返回字节[]
VARCHAR(M) [BINARY]
java.lang.String(除非列的字符集是BINARY),然后返回字节[]
BINARY(M)
byte[]
VARBINARY(M)
byte[]
TINYBLOB
byte[]
TINYTEXT
java.lang.String
BLOB
byte[]
TEXT
java.lang.String
MEDIUMBLOB
byte[]
MEDIUMTEXT
java.lang.String
LONGBLOB
byte[]
LONGTEXT
java.lang.String
ENUM('value1','value2',...)
java.lang.String
SET('value1','value2',...)
java.lang.String
- MySQL数据类型和java数据类型
- MySQL数据类型和java数据类型
- MySQL数据类型和java数据类型
- Java数据类型和MySql数据类型对应表
- Java数据类型和MySql数据类型对应一览
- java 数据类型和mysql 数据类型的对应
- Java数据类型和MySql数据类型对应一览
- Java数据类型和MySql数据类型对应一览
- Java数据类型和MySql数据类型对应表
- Java数据类型和MySql数据类型对应表
- Java数据类型和MySql数据类型对应一览
- Java数据类型和MySql数据类型对应表
- Java数据类型和MySql数据类型对照表
- Java数据类型和MySql数据类型对应表
- Java数据类型和MySql数据类型对应表
- Java数据类型和MySql数据类型对应表
- Java数据类型和MySql数据类型对应表
- Java数据类型和MySql数据类型对应一览
- android 启动应用程序
- Android AndroidMainifest.xml 中 Android:sharedUserId
- jQuery load用法技巧整理
- ECHO不换行
- android 通过资源名称去获得资源R id
- MySQL数据类型和java数据类型
- 关于在sqlplus命令环境中执行ed命令的问题
- 错误分析:finally block does not complete normally
- 新浪微博首席架构师漫谈微博底层架构
- Fedora 12下,SVN 使用方法
- 实现 select中指定option选中触发事件
- CSDN真是一个不错的地方 推荐!!!
- eclipse 常用快捷键
- ASCII GB2312 Unicode编码的由来