一、常用数据类型和日期时间的映射表
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>