mysql中的int类型对应于java中的Long类型详解
mysql中int类型对应于java中的Long类型
bug日记
在写项目的时候碰到了就顺便记录一下,事情的经过是这样的↓

在数据库查询完后映射到po类的时候报了错
娃子还小不懂事,屁颠屁颠跑回去看po类、数据字段、mapper.xml,大眼瞪小眼看了半天没看出来啥问题。


没啥问题啊,于是我一顿debug找错,发现了自己mybatis框架里面这么一段代码

这一段是将数据库中表一行记录中的列映射成一个java对象,debug发现他是long类型的,我就觉得奇怪int对应的不应该是Integer类型的嘛??!!
What?
但是仔细想想其实也好像确实是这么回事

这里我勾选了无符号数,所以这里int的容量应该是0~2^32
但是总所周知,java中的int/Integer容量只有
-2147483648~2147483647
所以我猜想基于这种情况,用Long来映射数据库中的int是合情合理的
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
MySQL for update锁表还是锁行校验(过程详解)
在MySQL中,使用for update子句可以对查询结果集进行行级锁定,以便在事务中对这些行进行更新或者防止其他事务对这些行进行修改,这篇文章主要介绍了MySQL for update锁表还是锁行校验,需要的朋友可以参考下2024-02-02
Mysql报Table 'mysql.user' doesn't exist问题的解
这篇文章主要给大家介绍了关于Mysql报Table 'mysql.user' doesn't exist问题的解决方法,初学者可能会遇到这个问题,文中通过图文将解决方法介绍的非常详细,需要的朋友可以参考下2022-05-05
MySQL控制流函数(-if ,elseif,else,case...when)
这篇文章主要介绍了MySQL控制流函数(-if ,elseif,else,case...when),文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下2022-07-07


最新评论