Mybatis中tinyint(1)常见问题

Mybatis查询tinyint(1)字段数据时,如果返回值为Map类型,那么tinyint(1)的数据默认会转化为boolean类型数据.

 1、 在返回值为Map类型(即resultType="Map")时,数据表里的tinyint(1)类型的数据(即[1, 0]),被mybatis会自动把转换成boolean类型数据(即[true/false]

2、MySQL字段定义为tinyint(1)时,MyBatis会把Integer = 0当作空字符串来处理

<if test="status != null and status != ''">
    AND status = #{status}
</if>

因此上面的if条件不成立,解决方案

<if test="status != null">
    AND status = #{status}
</if>


版权声明:本文为qq_36093584原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。