学而时习之,不亦说乎!
--《论语》
本文对常用的mysql数据类型和java数据类型进行对比。
类型对照简表:
java类型 | mysql类型 | 默认值 | 备注 | mybatis的JdbcType |
String | varchar | null | 一般的字符串都够用 | jdbcType="VARCHAR" |
Integer | int | null | 4字节 | jdbcType="INTEGER" |
Long | bigint | null | 8字节 | jdbcType="BIGINT" |
BigDecimal | decimal(10,0) | null |
默认的是十位整数,0位小数。 一般这个字段用来保存金额等, 使用decimal(10,2),表示 两位小数。但我觉得,金额还 是用int比较精确,只是需要做 转换 |
jdbcType="DECIMAL" |
Boolean | bit | null |
true存在数据库为b'1',false存 在数据库为b'0' |
jdbcType="BIT" |
Date(yyyy-MM-dd) | date(yyyy-MM-dd) | null |
对应java的Date类型,但是java 的Date没有yyyy-MM-dd格式, 只是存的时候只存yyyy-MM-dd 部分 |
jdbcType="DATE" |
Date(yyyy-MM-dd hh:mm:ss) | datetime(yyyy-MM-dd hh:mm:ss) | null |
对应java的Date类型,存的时候 将java的Date保存为对应的datetime |
jdbcType="TIMESTAMP" |