当遇到tyint 生成转化bool 类型问题很恶心,记录一下解决方法
一、
TinyInt转换规则
JAVA数据类型 和 MYSQL的数据类型转换,要注意tinyInt 类型,且存储长度为1的情况。
MYSQL官方的JDBC文档定义转换规则如下:
MySQL Types to Java Types for ResultSet.getObject():
MySQL Type NameReturn value of GetColumnClassNameReturned as Java Class
TINYINT
TINYINT
java.lang.Boolean if the configuration property tinyInt1isBit is set to true(the default) and the storage size is 1, or java.lang.Integer if not.
翻译:
如果tinyInt1isBit =true(默认),且tinyInt存储长度为1 ,则转为java.lang.Boolean 。
否则转为java.lang.Integer。
()
注意 ,是ResultSet.getObject() 方法
修复方法
1、tinyInt(1) 只用来代表Boolean含义的字段,且0代表False,1代表True。如果要存储多个数值,则定义为tinyInt(N), N>1。例如 tinyInt(2)
2、JDBC的URL增加 tinyInt1isBit=false参数,注意参数名区分大小写,否则不生效
建议双管齐下&