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数据库JDBC驱动mysql-connector-java-5.1.7-bin.jar
就是一个JDBC连接池 MYSQL的驱动包 希望能帮助有需要的朋友们
jdbc链接mysql数据库的jar包(mysql-connector-java-5.0.8-bin.jar)
mysql java JDBC 导入资源包mysql-connector-java-5.1.48
mysql57驱动jar包,jar包用于访问Mysql数据库的java程序库。 mysql-connector-java是一款由mysql推出的官方驱动,它是java通过JDBC连接操作mysql的驱动,解压之后是jar包,需安装Java环境方可使用。需要mysql ...
在C:\Program Files\Java目录下建立mysqlforjdbc子目录,进入该目录将mysql-connector-java-5.1.30-bin.jar到该目录下 进入C:\Program Files\Java\jdk1.7.0_04\lib目录将mysql-connector-java-5.1.30-bin-g.jar拷贝...
sqljdbc41.jar和mysql-connector-java-5.1.13-bin.jar
JDBC 相关jar包 --- mysql-connector-java-5.1.22-bin.jar(MySQL) Jar包下载: mysql-connector-java-5.1.22-bin.jar (见附件) JAR包添加: 1. 把JAR包放在水晶报表CrystalReport的目录下面 C:\Program ...
最新版 JDBC可以用java操作数据库
JDBC 相关jar包 --- ojdbc5.jar(Oracle) 或 mysql-connector-java-5.1.7.jar(MySQL) Jar包下载: ojdbc5.jar http://www.oracle.com/technetwork/cn/articles/oem/jdbc-112010-094555-zhs.html mysql-connector-...
Java+JDBC +mysql数据库 实现学生的增删改查等功能 可以选择 不同的功能来实现 增删改查 Java+JDBC +mysql数据库 实现学生的增删改查等功能 Java+JDBC +mysql数据库 实现学生的增删改查等功能 Java+JDBC +mysql...
mysql-connector-java 是MySQL的JDBC驱动包,用JDBC连接MySQL数据库时必须使用该jar包。
JDBC数据库连接jar包是Java连接数据通过导入数据库驱动jar包,来对JBDC接口进行实现。 该资源是DBC连接jar包mysql-connector-8.0.15
jdbc 连接数据库
mysql-connector-java-5.1.40.tar加使用说明
JDBC 连接数据库jar包--mysql-connector-java-5.1.46.zip
MySQL的JDBC驱动程序需将mysql-connector-java-5.1.18-bin.jar文件放到到Web项目的WEB-INF目录的lib目录下。...目中通过JDBC驱动程序连接MySQL数据库服务器了。全CSDN最低资源分下载,让你吃到真正的石灰!!!
mysql-connector-java-5.1.47 jar包,在利用jdbc连接数据库用
mysql-connector-java-5.1.44.jar——JDBC访问mysql数据库所必须jar包
service-dao-servlet-jdbc-c3p0-mysql jsp-filter 完整的源代码、 *.sql数据库文件