交互网站是什么,重庆市住房城乡建设网站,wordpress code theme,建设网站实训收获mysql与jfinal在使用过程中#xff0c;一定要弄清楚数据关系#xff0c;否则容易发生类型不匹配的错误。一、关系整理为此#xff0c;我根据jfinal的源码和mysql的数据字段类型#xff0c;整理列表如下#xff1a;mysqljfinal例子编号varchar, char, enum, set, text, tin…mysql与jfinal在使用过程中一定要弄清楚数据关系否则容易发生类型不匹配的错误。一、关系整理为此我根据jfinal的源码和mysql的数据字段类型整理列表如下mysqljfinal例子编号varchar, char, enum, set, text, tinytext, mediumtext, longtextStringgetStr(“xxx”)0001int, integer, tinyint(n) n 1, smallint, mediumintintgetInt(“xxx”)0002bigint, unsign intlonggetLong(“xxx”)0003unsigned bigintBigIntegergetBigInteger(“xxx”)0004date, yearDategetDate(“xxx”)0005timeTimegetTime(“xxx”)0006timestamp, datetimeTimestampgetTimestamp(“xxx”)0006real, doubleDoublegetDouble(“xxx”)0007floatFloatgetFloat(“xxx”)0008bit, tinyint(1)BooleangetBoolean(“xxx”)0009decimal, numericBigDecimalgetBigDecimal(“xxx”)0010binary, varbinary, tinyblob, blob, mediumblob, longblobbyte[]getBytes(“xxx”)0011extends from NumberNumbergetNumber(“xxx”)0012二、tinyint在mysql中tinyint(n)中的n对jfinal的数据转换有影响n1时jfinal要使用getInt。n1时jfinal要使用getBoolean。三、unsigned在mysql中unsigned表示有无符号举例来说unsigned int表示数据0不包含负数那么jfinal就要使用getLong。unsigned bigint表示数据0不包含负数那么jfinal就要使用getBigInteger。四、int(m)关于mysql中int(m)中的m这当然包含bigint(m)的m。int[(m)]有符号值-2147683648 到2147683647(- 231 到231- 1)无符号值0到4294967295(0 到232 - 1) 4个字节这意味着如果你的数据字段是这样子的话uid int(11) NOT NULL DEFAULT 0 COMMENT 用户id那么m11是正确的因为考虑到“-”(负数)长度最大为11位。而如果你的数据字段是这样子的话uid int(11) unsigned NOT NULL COMMENT 用户id那么m11是没有意义的因为最大长度为10位如果你比较专业的话此时你的数据字段就应该是这样子的uid int(10) unsigned NOT NULL COMMENT 用户id五、jfinal的api只看如下代码/*** Get attribute of mysql type: int, integer, tinyint(n) n 1, smallint, mediumint*/public Integer getInt(String attr) {return (Integer)attrs.get(attr);}/*** Get attribute of mysql type: bigint, unsign int*/public Long getLong(String attr) {return (Long)attrs.get(attr);}方法很详细的介绍了应该匹配哪一种mysql数据类型。笑对现实的无奈不能后退的时候不再傍徨的时候永远向前 路一直都在──陈奕迅《路一直都在》本文出自:【沉默王二的博客】