MySQL與MyBatis型別的對應
阿新 • • 發佈:2018-11-05
一、常用資料型別和日期時間的對映表
MySQL | JDBCType | JavaType | 備註 |
char | CHAR | String | 定長字元 |
varchar | VARCHAR | String | 變長字串 |
tinyint | TINYINT | byte | 1位元組 |
smallint | SMALLINT | short | 2位元組 |
int | INTEGER | int | 4位元組 |
float | FLOAT | float | 4位元組 |
bigint | BIGINT | long | 8位元組 |
double | DOUBLE | double | 8位元組 |
bit | BOOLEAN | boolean | 布林型別 |
date | Date | util.Date、sql.Date | YYYY-MM-DD |
time | TIME | util.Date、sql.Date | HH:MM:SS |
timestamp | TIMESTAMP | util.Date、sql.Date | YYYY-MM-DD HH:MM:SS |
text | VARCHAR | String | 文字型別【2^16-1位元組】 |
longtext | LONGVARCHAR | String | 文字型別【2^32-1位元組】 |
二、mysql中表的資料結構(例子)
CREATE TABLE `uc_role` (
`id` bigint(11) NOT NULL AUTO_INCREMENT,
`code` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`description` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '建立時間',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ROW_FORMAT=COMPACT;
三、程式碼中對應的jdbcType(例子)
<resultMap id="roleResultMap" type="com.bscz.agm.dto.Role">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="name" column="name" jdbcType="VARCHAR"/>
<result property="code" column="code" jdbcType="VARCHAR"/>
<result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
<result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
<result property="description" column="description" jdbcType="VARCHAR"/>
</resultMap>