Mysql里有个数据类型bigint

在java转换成实体对象时,处理不当容易出现以下异常:

java.lang.ClassCastException: java.lang.Long cannot be cast to java.math.BigInteger

只需要注意以下情况,就可避免此类异常:

当数据库中该属性添加unsigned,则在对象中对应的属性类型应该为BigInteger;

当数据库中该属性未添加unsigned,则在对象中对应的属性类型应该为Long。

可以成功映射为Long的表用的是BIGINT(20),但是出问题的表使用的是BIGINT(20) UNSIGNED。如果不是无符号类型,BIGINT(20)的取值范围为-9223372036854775808~9223372036854775807。与Java.lang.Long的取值范围完全一致,mybatis会将其映射为Long;而BIGINT(20) UNSIGNED的取值范围是0 ~ 18446744073709551615,其中一半的数据超出了Long的取值范围,Mybatis将其映射为BigInteger。

mysql中int、bigint、smallint 和 tinyint的区别详细介绍

int(M) M指最大显示宽度。最大有效显示宽度是255。显示宽度与存储大小或类型包含的值的范围无关。

bigint

从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。

int

从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer。

smallint

从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。

tinyint

从 0 到 255 的整型数据。存储大小为 1 字节。

定义时需要注意是否使用 unsigned 符号类型,再就是显示补齐宽度值zerofill

(M)  指定了 int 型数值显示的宽度,如果字段数据类型是 int(4),则:当显示数值 10 时,在左边要补上 “00”;

当显示数值 100 是,在左边要补上“0”;

当显示数值 1000000 时,已经超过了指定宽度“(4)”,不能输出,必须小于指定长度的值,不是位数是int对应的大小

数据库时间 用bigint_mysql数据库字段bigint使用相关推荐

  1. mysql取数据库时间函数_MySQL数据库—日期与时间函数

    一. 日期和时间函数 函数的概念:按指定格式输入参数,返回正确结果的运算单元 1. 返回当前日期:curdate() current_date() current_date()+0可以将当前日期转换为 ...

  2. MySQL数据库时间类型datetime、bigint、timestamp的查询效率比较

    以下文章来源方志朋的博客,回复"666"获面试宝典 来源:https://juejin.im/post/6844903701094596615 数据库中可以用datetime.bi ...

  3. datetime mysql 查询_mysql数据库时间类型datetime、bigint、timestamp的查询效率比较

    数据库中可以用datetime.bigint.timestamp来表示时间,那么选择什么类型来存储时间比较合适呢? 前期数据准备 通过程序往数据库插入50w数据 数据表: CREATE TABLE ` ...

  4. 数据库时间内接受的是lang类型的时间 分为三种字段 第一种只存日期 第二种存日期+时间 第三种时间戳...

    数据库时间内接受的是lang类型的时间 分为三种字段 第一种只存日期 第二种存日期+时间 第三种时间戳 转载于:https://www.cnblogs.com/classmethond/p/10250 ...

  5. 数据库中CreateAt、UpdateAt字段的意义

    这里是修真院后端小课堂,每篇分享文从 [背景介绍][知识剖析][常见问题][解决方案][编码实战][扩展思考][更多讨论][参考文献] 八个方面深度解析后端知识/技能,本篇分享的是: [ 数据库中Cr ...

  6. wordPress数据结构 数据库中的表、字段、类型及说明

    wordPress数据结构 数据库中的表.字段.类型及说明 WordPress数据库中的表.字段.类型及说明 wp_categories: 用于保存分类相关信息的表.包括了5个字段,分别是: wp_c ...

  7. mysql数据库中的自增字段会不会溢出,我用的是int,万一超过这个int的表示范围会怎样

    mysql数据库中的自增字段会不会溢出,我用的是int,万一超过这个int的表示范围会怎样 描述不清违规检举侵权投诉| | 2015-04-23 11:37 princelions | 浏览 596 ...

  8. java生成mysql数据库建表语句、字段、字段类型、字段注释,可实现不用mysqldump备份数据库

    使用 mysqldump 备份数据库也是可行的,因为每次备份的时候都需要mysqldump这个文件, 我在windows备份时没问题,但是放到linux上面时,centos系统死活不认这个文件,但又不 ...

  9. 数据库中存储日期的字段类型究竟应该用varchar还是datetime ?

    背景: 前段时间在百度经验看到一篇文章<如何在电脑右下角显示你(爱人)的名字>,之前也听过这个小技巧,但没真正动手设置过.所以出于好奇就实践了一下. 设置完成后的效果例如以下.右下角的时间 ...

最新文章

  1. python如何编写数据库_如何在几分钟内用Python编写一个简单的玩具数据库
  2. ASP.net中的几种分页方法
  3. mysql数据库限制多次登录失败,限定用户重试时间
  4. 反射获取成员变量并改值
  5. [Microsoft][SQL Server 2000 Driver for JDBC]Error establishing socket
  6. Android 如何才能捕获系统的恢复出厂设置事件
  7. 具有多个单元格类型的iOS UITableView
  8. 【意见征集补充】09'博客园T恤设计
  9. 认知无线电与软件定义无线电的区别
  10. 快播CEO认罪_成人网站对技术的要求有多高?
  11. 【开发工具】【Bus Hound】USB抓包工具(Bus Hound)的使用
  12. html5标签含义元素周期表
  13. 百度坐标(BD09)、国测局坐标(火星坐标,GCJ02)、和WGS84坐标系互转
  14. python--socket(套接字/插口)
  15. Linux下挂载移动硬盘和USB的方法
  16. Apple开发者账号更改所属公司名称
  17. 离散行业和流程行业的区别
  18. [CMS漏洞]EmpireCMS_V7.5的一次审计【转载】
  19. 怎么调用vmware api和接口
  20. 第三方快递鸟免费物流轨迹单号查询api接口对接案例

热门文章

  1. php实现dota天梯、wow竞技场、lol排位赛匹配加分算法ELO
  2. 戒掉这七种思维方式,走向真正的成熟
  3. 《鹰猎长空》疫情之后,欧洲最关注中国电影市场哪些方面?
  4. 【blender雕刻】物体模式下应用缩放后法线颠倒
  5. 后处理——深入相机变形特效
  6. Markdown的前世今生 + CSDN的Markdown语法和使用大全
  7. 快手通过标签添加的我_利用话题标签,快手账号7天涨粉9万的超级秘籍
  8. 英语单词_巩固方法草稿A
  9. icloud 5g内存使用攻略
  10. 如何将html格式动态图表网页嵌入ppt中