mysqlとJFinalのデータ関係


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
二、tinyint
mysqlではtinyint(n)のnがjfinalのデータ変換に影響します.
  • n>1の場合、jfinalはgetIntを使用します.
  • n=1の場合、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'

    ではm=11が正しいのは,「-」(負数)を考慮したため,長さは最大11ビットである.
    データフィールドがそうであれば
    `uid` int(11) unsigned NOT NULL COMMENT '  id'

    ではm=11は意味がありません.最大長は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データ型に一致すべきかを詳細に説明します.
    笑って现実のしようがないことに対して、后退することができない时、もううろうろしない时、永远に前へ行く道はずっとあります——陈奕迅《道はずっとあります》本文は出ます:【沈黙の王二のブログ】