前言

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

Java基础类型与包装类型

a)   如果数据库字段是允许为空的,使用包装类。   如果不允许为空,使用包装的时候,如果你往数据库插入null值,此时就会抛出异常。   然后你就可以对异常进行捕获并处理。

b)   使用基本数据类型的时候,如果字段是NULL,那么JDBC会返回0,但是这里会有一个问题。   有可能0在你的业务逻辑代表着特定含义,这时候就可能出现一些意想不到的后果。 总结:在项目中去使用包装类型而不是基本数据类型,这样可以使你编写代码更简单

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
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
set('value1','value2',...) CHAR java.lang.String

Mysql字段类型

decimal(8,2): 有2位小数的定点数,定点数支持很大的数(甚至是超过int,bigint存储范围的数) decimal不会损失精度,存储空间会随数据的增大而增大。double占用固定空间,较大数的存储会损失精度。

字符串型: 定长与变长的区别,CHAR类型占用空间比较大,但是处理速度比VARCHAR快。 如果长度变化不大,最好选择CHAR类型。对于长度不确定的,最好选择VARCHAR。

MySQL字段类型对应Java字段相关推荐

  1. mysql字段类型对应java字段类型

    数据库类型 JAVA类型 VARCHAR java.lang.String BLOB java.lang.byte[] TEXT java.lang.String INTEGER java.lang. ...

  2. Java JDBC中,MySQL字段类型到JAVA类型的转换

    转载自:https://www.cnblogs.com/waterystone/p/6226356.html 1. 概述 在使用Java JDBC时,你是否有过这样的疑问:MySQL里的数据类型到底该 ...

  3. MySQL字段类型与Java中类型的对应

    MySQL字段类型与Java中类型的对应 在设计数据的时候,需要与Java里的类型进行匹配,我自己在设计过程中参考的内容如下 编号 类型名称 显示长度 数据库类型 Java类型 备注/描述 0 VAR ...

  4. MySQL字段类型到JAVA类型的对应及转换

    1. 概述 在使用Java JDBC时,你是否有过这样的疑问:MySQL里的数据类型到底该选择哪种Java类型与之对应?本篇将为你揭开这个答案. 2. 类型映射  java.sql.Types定义了常 ...

  5. 总结java数据类型和mysql、oracle、pgsql数据类型对应关系,附数据库字段类型转java类型代码

    java的基本数据类型有八种: byte.short.int.long.float.double.char.boolean 总结java和mysql.oracle.pgsql数据类型对应关系 java ...

  6. java中常见数据库字段类型与java.sql.Types的对应

    转自:http://blog.csdn.net/hbzyaxiu520/article/details/5457225 常见数据库字段类型与java.sql.Types的对应 Oracle与java. ...

  7. java.sql.Types,数据库字段类型,java数据类型的对应关系

    原文地址为: java.sql.Types,数据库字段类型,java数据类型的对应关系 以下转自:http://kummy.itpub.net/post/17165/172850 本文在原文基础上有增 ...

  8. Access中字段类型及修改字段类型的SQL语句

    Access中字段类型及修改字段类型的SQL语句 Access中的数据类型 Access中有10中数据类型:文本.备注.数值.日期/时间.货币.自动编号.是/否.OLE对象.超级链接.查询向导. 1. ...

  9. oracle如何搜索字段类型,Oracle通过字段类型查询字段

    有的时候我们需要在oracle中通过字段名.字段类型.字段长度.字段注释.表名来查询具体的字段信息.比如:昨天同事问我,咱们数 有的时候我们需要在Oracle中通过字段名.字段类型.字段长度.字段注释 ...

最新文章

  1. 工业相机之全局曝光与卷帘曝光
  2. thinkphp 微信授权登录 以及微信实现分享
  3. MMCME2_ADV介绍 高级混合模式时钟管理器(7 Series FPGA)
  4. 栈空间不够会报错吗_网站更换域名和空间会对优化有影响吗?
  5. STC12C5A60S2笔记8(串口)
  6. 转:WinForm程序中两份mdf文件问题的解决方法
  7. 【机器学习基础】优化算法详解
  8. 分享9个实用的电脑维修技巧,赶紧收藏吧!
  9. 简单聊聊模型的性能评估标准
  10. python 下载百度文库_百度文库随便下载,解除限制
  11. 【C#进阶3-7】C# Socket通讯
  12. JSP文件的打开方式
  13. 如何解决High Sierra 10.13.6 系统iCloud无法连接的问题?
  14. 中国品牌亮相第六届加拿大服装纺织品采购展
  15. 鼠标绘制工具加是否超出范围判断
  16. 网络安全运维工程师数据库的核心能力有什么?
  17. 订单里面有多个商品的问题怎么解决
  18. Win7-64 重装 Anaconda3
  19. 【转载】[学习笔记]共轭转置矩阵与伴随矩阵都用A*表示合理吗?
  20. stm32的抢占优先级和响应优先级(也叫子优先级)

热门文章

  1. [股票预测]获取股票K线数据
  2. ubuntu禅道安装
  3. 视频技术的发展对车载移动远程监控行业有何影响?
  4. windows10 关闭指定端口
  5. MES管理系统解决方案,主要实现的目标
  6. 机器学习——牛顿法详解
  7. 【转】50款免费的好软件
  8. 网页中集成百度商桥,自定义样式,可参照江苏美圣官网
  9. Asp.Net写入读取Xml(处理文件权限)
  10. 非开挖修复原理与技术方法介绍