a_wing啊 2021-10-17 11:51 采纳率: 46.7%
浏览 34
已结题

MyBatis-Plus转换MySQL数据库tinyint类型默认值0的数据转换失败

MyBatis-Plus转换MySQL数据库tinyint类型默认值0的数据转换失败

      <dependency>
          <groupId>com.baomidou</groupId>
          <artifactId>mybatis-plus-boot-starter</artifactId>
          <version>3.4.2</version>
      </dependency>

数据库表

CREATE TABLE `answer` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  `modified_time` datetime NOT NULL COMMENT '修改时间',
  `content` varchar(1000) NOT NULL COMMENT '回答的内容',
  `user_id` int(11) unsigned NOT NULL COMMENT '回答者id',
  `is_accepted` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否被采纳,1是,0否',
  `has_reply` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否有回复,1有,0没有',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=516 DEFAULT CHARSET=utf8

实体类

@Data
public class Answer implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 创建时间
     */
    @TableField(value = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    private LocalDateTime createTime;

    /**
     * 修改时间
     */
    @TableField(value = "modified_time")
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    private LocalDateTime modifiedTime;

    /**
     * 回答的内容
     */
    private String content;

    /**
     * 回答者id
     */
    @TableField(value = "user_id")
    private Integer userId;

    /**
     * 是否被采纳,1是,0否
     */
    @TableField("is_accepted")
    private Integer accepted;

    /**
     * 是否有回复,1有,0没有
     */
    @TableField("has_reply")
    private Integer hasReply;
}

Mapper执行方法,用了MyBatis-Plus的分页查询

    @Select("select * from answer")
    IPage<Answer> getPageAnswer(IPage<Answer> page);

img

实体类类里的accepted和hasReply属性都是Integer类型,在数据库里都是tinyint(1),默认值0,
但是为什么MyBatis-Plus查询出来hasReply=0,这是正确的,但accepted的值却是null?

  • 写回答

1条回答 默认 最新

  • a_wing啊 2021-10-17 12:43
    关注

    经过自己多次尝试无法获取正确数据,把MyBatis-Plus修改为目前最新版3.4.3.4就可以了

    评论

报告相同问题?

问题事件

  • 系统已结题 10月25日
  • 创建了问题 10月17日

悬赏问题

  • ¥15 找一个QT页面+目标识别(行人检测)的开源项目
  • ¥15 有没有整苹果智能分拣线上图像数据
  • ¥20 有没有人会这个东西的
  • ¥15 cfx考虑调整“enforce system memory limit”参数的设置
  • ¥30 航迹分离,航迹增强,误差分析
  • ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败
  • ¥15 用Ros中的Topic通讯方式控制小乌龟的速度,走矩形;编写订阅器代码
  • ¥15 LLM accuracy检测
  • ¥15 pycharm添加远程解释器报错
  • ¥15 如何让子窗口鼠标滚动独立,不要传递消息给主窗口