bug日记
-
今天在写项目的时候碰到了就顺便记录一下,事情的经过是这样的↓
-
在数据库查询完后映射到po类的时候报了错
-
娃子还小不懂事,屁颠屁颠跑回去看po类、数据字段、mapper.xml,大眼瞪小眼看了半天没看出来啥问题。
-
没啥问题啊,于是我一顿debug找错,发现了自己mybatis框架里面这么一段代码
-
这一段是将数据库中表一行记录中的列映射成一个java对象,debug发现他是long类型的,我就觉得奇怪int对应的不应该是Integer类型的嘛??!!What?
-
但是仔细想想其实也好像确实是这么回事
-
这里我勾选了无符号数,所以这里int的容量应该是0~2^32,但是总所周知,java中的int/Integer容量只有
-2147483648~2147483647
,所以我猜想基于这种情况,用Long来映射数据库中的int是合情合理的。