前言:今天在做jfinal和mysql的数据转换时出现了java.lang.Boolean cannot be cast to java.lang.Integer错误,而之前我就遇到过这样的问题mysql与JFinal的数据关系,这使我意识到有必要整理一下jfinal与mysql数据类型关系。

mysql

jfinal

例子

编号

varchar, char, enum, set, text, tinytext, mediumtext, longtext

String

getStr(“xxx”)

0001

int, integer, tinyint(n) n > 1, smallint, mediumint

int

getInt(“xxx”)

0002

bigint, unsign int

long

getLong(“xxx”)

0003

unsigned bigint

BigInteger

getBigInteger(“xxx”)

0004

date, year

Date

getDate(“xxx”)

0005

time

Time

getTime(“xxx”)

0006

timestamp, datetime

Timestamp

getTimestamp(“xxx”)

0006

real, double

Double

getDouble(“xxx”)

0007

float

Float

getFloat(“xxx”)

0008

bit, tinyint(1)

Boolean

getBoolean(“xxx”)

0009

decimal, numeric

BigDecimal

getBigDecimal(“xxx”)

0010

binary, varbinary, tinyblob, blob, mediumblob, longblob

byte[]

getBytes(“xxx”)

0011

extends from Number

Number

getNumber(“xxx”)

0012

然后,针对以上内容,我想说明以下几点:

0002和0009

注意0002中的tinyint(n) n > 1,在mysql中,一般为了表示状态,我们可能都会选择tinyint,比如status,我们用0表示未审核,1表示审核,2表示拒绝,这个时候我们依然会将n设置为1,但是到了jfinal进行转换的时候,如果你还是用getInt()方法,那么就会抛出java.lang.ClassCastException: java.lang.Boolean cannot be cast to java.lang.Integer。

所以,如果是这种情况,请设置n>1。

当然这也为我们提供了方便,如果你用tinyint(1)表示is_delete,0表示未删除,1表示已删除。那么jfinal的getBoolean还是够方便。

0003和0004

这里请注意到unsigned ,在数据库中,我们很少用-1、-2、-3、… 、-100000等来表示数据,那么我们的mysql中就可能把数据类型设置为“无符号(unsigned)”,那么此时请一定要注意“unsigned int”就不能再使用getInt()来完成转换了,“unsigned bigint”就不能使用getLong()转换,而要替换成对应的getLong()和getBigInteger()。

jfinal mysql date,jfinal与mysql数据类型拾掇大全相关推荐

  1. mysql date timestamp_【Mysql】Datetime和Timestamp区别,及mysql中各种时间的使用

    说到数据库时间类型,大部分同学都会想到date.datetime.timestamp之类的. 我之前在项目遇到一个问题,测试同事在测试时,由于会测试205几年的数据,在入库时会抛出数据库异常,原因就是 ...

  2. js mysql date format,将MySql DateTime戳记转换为JavaScript的Date格式

    Does anyone know how I can take a MySQL datetime data type value, such as YYYY-MM-DD HH:MM:SS and ei ...

  3. mysql和jfinal的区别_mysql与JFinal的数据关系-阿里云开发者社区

    mysql与jfinal在使用过程中,一定要弄清楚数据关系,否则容易发生类型不匹配的错误. 一.关系整理 为此,我根据jfinal的源码和mysql的数据字段类型,整理列表如下: mysql jfin ...

  4. mysql date类型计算_MySQL date类型

    在本教程中,我们将向您介绍MySQL DATE数据类型,并演示一些有用的日期函数来有效处理日期数据. MySQL DATE数据类型简介 MySQL DATE是用于管理日期值的五种时间数据类型之一. M ...

  5. mysql date 默认值_通过Oracle DB了解MySQL

    Oracle数据库是业界的翘楚,各行各业拥有大量的Oracle DB的DBA,本文尝试通过将Oracle与MySQL数据库的架构.安全.模式对象.数据类型及数据存储进行对比,以方便熟悉Oracle数据 ...

  6. MySQL Date 函数,统计当天、一周、一月等的数据

    MySQL Date 函数,统计当天.一周.一月等的数据 Date 函数 DATE_ADD() DATEDIFF() MySQL 使用下列数据类型在数据库中存储日期或日期/时间值 当前日期和时间其他的 ...

  7. 总结java数据类型和mysql、oracle、pgsql数据类型对应关系,附数据库字段类型转java类型代码

    java的基本数据类型有八种: byte.short.int.long.float.double.char.boolean 总结java和mysql.oracle.pgsql数据类型对应关系 java ...

  8. MySQL事务管理+安全管理+MySQL数据类型

    [0]README 0.1)本文部分文字描述转自"MySQL 必知必会",旨在review"MySQL事务管理+安全管理+MySQL数据类型" 的基础知识: [ ...

  9. 《高性能MySQL》读书笔记-mysql数据类型和应用

    这篇文章主要介绍下现实中的数据和msyql里面的存储的类型,例如ip地址要怎么存储,时间要怎么存储,字符串要怎么存储. 名词解释: 宽表:也是就是列很多的表 数据类型 一个是指现实中的数据类型 另一个 ...

最新文章

  1. byte[] 和string的转换
  2. Apache - AH00558
  3. Java 异常处理入门
  4. java程序结构_java程序的三种结构
  5. 遍历文件夹并移动其中所有的文件
  6. 適合.net開發人員的UML自由軟件
  7. 【收藏】史上最全推荐系统传统算法合集
  8. 常见的遍历数组和对象的方法
  9. SA / SAM 题目集
  10. 【剑指Offer】10、矩形覆盖
  11. adb指令禁用软件_免Root使用ADB命令_停用手机系统应用
  12. 中国音频放大器市场现状研究分析与发展前景分析报告
  13. 对公司的建议_工作总结
  14. hdoj 5510 Bazinga
  15. 小米MIUI开发版应用闪退问题 Secure.ANDROID_ID must not be null
  16. 4.2.1 Duration and Convexity
  17. 我的偶像王坚博士,一位执着的学者!
  18. fstream用法总结
  19. 计算机网络基础教程实训总结,实训总结
  20. 小辣记【野火stm32自学笔记】点灯仪式

热门文章

  1. wxWidgets:wxWebView 示例
  2. boost::spirit模块实现自定义用作容器数据的测试程序
  3. boost::serialization模块实现测试 shared_ptr 序列化的测试程序
  4. boost::serialization模块指针反序列化的安全异常处理示例
  5. boost::python::pointee相关的测试程序
  6. boost::mp11::mp_starts_with相关用法的测试程序
  7. boost::mp11::mp_contains相关用法的测试程序
  8. boost::gil模块沿 x 轴计算梯度的方法的示例
  9. GDCM:Dicom文件重复的PCDE测试程序
  10. ITK:计算图像的最小,最大,方差和均值