tinyint(1)和tinyint(4)在mybatis中的区别

tinyint(1)和tinyint(4)在mybatis中的区别

首先,tinyint在mysql中只占1byte,有符号的范围(-128,127),无符号的范围(0,255)。

这里主要介绍tinyint在mybatis中的映射问题,tinyint在mybatis中映射关系为:

mysql

`is_delete` tinyint(1) DEFAULT NULL COMMENT '是否删除,0表示未删,1表示已删',
`status` tinyint(4) DEFAULT NULL COMMENT '状态,0表示未执行,1表示执行中,2表示执行完成',

mybatis

// 主要是用tinyint(1)来表示java中的boolean类型字段
<result column="is_delete" property="delete" jdbcType="BIT"/>
// 主要是用tinyint(4)来表示
<result column="status" property="status" jdbcType="TINYINT"/>

java实体

    /**
     * 是否删除,true表示已删除,false表示未删除
     */
    private boolean delete; // 此处也可用byte类型处理
    /**
     * 状态,0表示未执行,1表示执行中,2表示执行完成
     */
    private Integer status;

注意:在mysql的tinyint(1)中存放值:0表示false,非0表示true,当接收的java实体不是自己定义的,而是使用Map集合接收,delete字段必是boolean类型

你可能感兴趣的:(mybatis,mysql,java)