为何mysql中的int类型对应于java中的Long类型

发现在很多能根据MySQL数据库表结构自动生成 bean,mapper,service,controller的开发框架中,如果字段的数据类型是int,一般都是对应于java类型中的Long类型,这是为何?

下图展示MySQL中int分别为有符号及无符号的情况下的取值范围;展示java中Integer和Long的取值范围。从对比中可以看出,如果MySQL选择无符号的int类型时,它的取值范围是要超过java的Integer类型的,所有猜测为了确保能包括MySQL中int的所有取值范围,使用java中的Long映射最为可靠。

另外看下int类型是否有符号的设置:

总结:其实自动生成代码的框架使用Long来映射MySQL的int更多的是为了原理上符合要求,实际开发中很多情况设置为Integer来映射也完全可以,比如MySQL字段存的值就是带符号,获取字段的长度有严格限制等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值