mysql tinyint(1)与boolean
2017-10-15 12:34
771 查看
从
在
对于
从
BOOL, BOOLEAN
These types are synonyms for TINYINT(1). A value of zero is considered false. Nonzero values are considered true
如果想要让
tinyInt1isBit
Should the driver treat the datatype TINYINT(1) as the BIT type (because the server silently converts BIT -> TINYINT(1) when creating tables)?
Default: true
Since version: 3.0.16
Mysql读取
tinyint(1)数据时,如果我们没有在
jdbc url里特殊指定,那么
tinyint(1)的数据,会被转化为
boolean类型。
在
jdbc的
ResultSetImpl类中有一段代码
switch (field.getSQLType()) { case Types.BIT: if (field.getMysqlType() == MysqlDefs.FIELD_TYPE_BIT && !field.isSingleBit()) { return getObjectDeserializingIfNeeded(columnIndex); } return Boolean.valueOf(getBoolean(columnIndex)); case Types.BOOLEAN: return Boolean.valueOf(getBoolean(columnIndex)); case Types.TINYINT: if (!field.isUnsigned()) { return Integer.valueOf(getByte(columnIndex)); } return Integer.valueOf(getInt(columnIndex)); ...
对于
tinyint(1)类型的字段,读到的数据会先进入
case Types.BIT代码段,之后会调用
Boolean.valueOf(),也就是在这里
tinyint被解析成了
boolean。
从
mysql的官方文档中有一段话
BOOL, BOOLEAN
These types are synonyms for TINYINT(1). A value of zero is considered false. Nonzero values are considered true
如果想要让
tinyint(1)转化为
int,可以在
jdbc url内指定属性
tinyInt1isBit为
false
tinyInt1isBit
Should the driver treat the datatype TINYINT(1) as the BIT type (because the server silently converts BIT -> TINYINT(1) when creating tables)?
Default: true
Since version: 3.0.16
相关文章推荐
- mysql中Tinyint(1)数据格式自动转为boolean类型
- 工作日记2017.07.25 mysql中存TINYINT,转Object会变为boolean类型及类型普及
- 关于 MySQL 的 boolean 和 tinyint(1)
- mysql的boolean和tinyint(1)
- MySQL 的 boolean 和 tinyint(1)
- MySQL boolean tinyint(1)
- 关于MySQL的TinyInt数据类型在Delphi中作为Boolean类型的一个要注意的问题
- JDBC 执行查询时,mysql中TINYINT ,boolean
- 关于 MySQL 的 boolean 和 tinyint(1) (转)
- MySQL BOOL/BOOLEAN 与 TINYINT 测试总结
- (转)MySQL BOOL/BOOLEAN 与 TINYINT 测试总结
- 关于MySQL的boolean和tinyint(1)
- MySQL 四种特殊数据类型 ENUM、SET、BOOL/BOOLEAN、TINYINT
- java mysql 表中字段是tinyint(1)类型,hibernate自动生成bean对应属性为boolean类型,如何传值
- 关于 MySQL 的 boolean 和 tinyint(1)
- 关于 MySQL 的 boolean 和 tinyint(1)
- 关于 MySQL 的 boolean 和 tinyint(1)
- sqoop从mysql抓数据tinyint类型会变成boolean类型
- MySQL BOOL/BOOLEAN 与 TINYINT测试总结
- 关于 MySQL 的 boolean 和 tinyint(1)问题