Mysql tinyint长度为1时在java中被转化成boolean型
来源:互联网 发布:手机淘宝积分有什么用 编辑:程序博客网 时间:2024/06/05 20:31
在项目中遇到一个巨坑,程序没问题,从mysql查询到的tinyint数据中莫名其妙的变成了布尔类型,导致后续出错。这种细节性的问题,只有遇到时才会关注到,记录备忘。
下面是详细解释:
在项目中有一个字段为user_type,长度设置为1,表示注册用户和非注册用户,是注册用户为 1,否则为 2。因为查询语句是使用的Jfinal相关函数,查找到其中的获取数据类型字段程序,如下所示:
在图中光标处断点发现,通过getObeject后,类型变为boolean。而其中tinyint长度为4的,经过转化后没有问题,确定是getObeject对长度为1的处理有问题。经过查找资料,发现网上确实有这个问题的介绍。链接如下:
http://www.cnblogs.com/joeylee/p/3878223.html
解决方法 .
Tinyint(1) 就只用来保存 bool 值 只有0和1 不要保存其他的值,如果要保存多的值,就用 Tinyint(4)
附:
常见数据库字段类型与java.sql.Types对应表
Oracle与java.sql.Types的对应 Oracle java.sql.Types blob blob char char clob clob date date number decimal long varbinary nclob,nvarchar2 other smallint smallint timestamp timstamp raw varbinary varchar2 varchar Sql server与java.sql.Types的对应 Sql server java.sql.Types bigint (2005,2008) bigint timstamp,binary binary bit bit char,nchar,unqualified char datetime date money,smallmoney,decimal decimal float (2005,2008) double float(2000) float int integer image longvarbinary text,ntext,xml longvarchar numeric numeric real real smallint smallint datetime,smalldatetime timestamp tinyint tinyint varbinary varbinay nvarchar,varchar varchar DB2与java.sql.Types的对应 bigint bigint blob blob character,graphic char clob clob date date decimal decimal double double integer integer longvargraphic longvarchar longvarchar real real smallint smallint time time timestamp timestamp vargraphic varchar varchar MySQL与java.sql.Types的对应 MySQL java.sql.Types bigint bigint tinyblob binary bit bit enum,set,char char date,year date decimal,numeric decimal double,real double mediumint,int integer blob,mediumblob blob longblob float real smallint smallint time time timestamp,datetime timestamp tinyint tinyint varbinary,binary varbinay varchar,tinytext,text varchar
0 0
- Mysql tinyint长度为1时在java中被转化成boolean型
- Mybatis中tinyint(1)数据自动转化为boolean处理
- 关于mysql tinyInt 长度为1 查询返回boolean类型的数据
- MySQL boolean tinyint(1)
- MySQL中 boolean 与tinyint(1)
- mysql tinyint(1)与boolean
- JDBC 执行查询时,mysql中TINYINT ,boolean
- mysql中Tinyint(1)数据格式自动转为boolean类型
- java mysql 表中字段是tinyint(1)类型,hibernate自动生成bean对应属性为boolean类型,如何传值
- 关于MySQL的boolean和tinyint(1)
- 关于 MySQL 的 boolean 和 tinyint(1)
- boolean type is tinyint(1) in MySQL
- 关于 MySQL 的 boolean 和 tinyint(1)
- mysql的boolean和tinyint(1)
- mybatis 连接mysql数据库 tinyint 为boolean类型
- mysql 中tinyint(1)
- JS中字符串转化为boolean类型
- mybatis连接mysql数据库 tinyint为boolean类型,怎样使其返回类型为integer
- FreeMarker的配置和使用
- stm32 栈的大小问题
- SQL SERVER 快速插入千万条数据
- Android学习之微博SDK集成及实现分享到微博
- Content
- Mysql tinyint长度为1时在java中被转化成boolean型
- Spring Boot(1)-快速构建应用
- Linux的启动流程
- 排序算法入门之冒泡排序
- [BZOJ 1975][Sdoi2010]魔法猪学院
- ckplayerjs-api
- 在一个项目中同时使用Swift和Objective-C代码混合编程的方法
- Docker基础技术:AUFS
- oracle sqlloader安装及使用