MySQL Connector/J在处理MySQL数据类型和Java数据类型之间的转换方面非常灵活。
通常,任何MySQL数据类型都可以转换为java.lang。String和任何数字类型都可以转换为任何Java数字类型,尽管可能会发生舍入、溢出或精度损失。
Connector/J按照JDBC规范的要求发出警告或抛出DataTruncation异常,除非通过使用属性jdbcCompliantTruncation并将其设置为false,将连接配置为不这样做。
下表中列出了始终保证有效的转换。第一列列出了一个或多个MySQL数据类型,第二列列出了一个或多个MySQL类型可以转换为的Java类型。
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 |
注意:
如果您选择的Java数值数据类型的精度或容量低于您要转换的MySQL数据类型,则可能会出现舍入、溢出或精度损失。
参考链接(可能随时变化,及时查看官网):
https://dev.mysql.com/doc/connector-j/en/connector-j-reference-type-conversions.html