博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

mysql tinyint(1)的特别之处

Posted on 2018-03-12 11:32  羽系  阅读(5879)  评论(0编辑  收藏  举报

在建mysql表时,有一个字段是代表状态的,

分别有 0:未下发,1:下发失败,2:下发成功,

选择的是tinyint(1)作为类型。

利用JDBC查询时,ResultSet自动将tinyint(1)转化为Boolean型,0=false,1=true,然而和我的设计目标背离。

原因mysql中没有Boolean,所以它用tinyint(1)代替Boolean。如果想用tinyint的本类型,建议tinyint(n),n>=2

修改后,还是有问题,原来是对应的实体类这个字段我映射的是byte类型,修改成了Integer后,没有问题,估计也是ResultSet转为了Integer