MySQL与MyBatis类型的对应

一、常用数据类型和日期时间的映射表

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>

猜你喜欢

转载自blog.csdn.net/qq_36189144/article/details/83621089