• mybatis plus 实体枚举转换的问题;No enum constant XX解决办法


    SpringBoot+Mybatis 实体使用枚举类型时报错:No enum constant com.test.model.survey.QuType.1

    原因是无法使用Mybatis默认的转换器EnumTypeHandler 进行转换,解决方法:

    只需要修改mybatis文件,添加ResultMap配置,对需要枚举转换的字段配置特定的转换类EnumOrdinalTypeHandler 

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
    <mapper namespace="com.test.mapper.QuestionMapper">
        
        <resultMap id="questionMap" type="com.test.model.survey.Question" >
            <id column="id" property="id"/>
            <result column="qu_type" property="quType" typeHandler="org.apache.ibatis.type.EnumOrdinalTypeHandler"/>
           
        </resultMap>
        <select id="getQuestionById" resultMap="questionMap">
            SELECT * FROM question WHERE id = #{Id}
        </select>
        
    </mapper>

    注意:

    1:查询中resultType修改为ResultMap,否则会报 can not find class XXX

    2:此处Result属性中,column对应的是数据库中字段,property是实体类中属性,项目中使用了数据库中_+小写转换为大写驼峰写法

  • 相关阅读:
    兼容性处理
    H5 IOS 虚拟键盘不回落的问题
    git 的版本控制
    vue-devtools工具的安装
    linux下安装mysql
    Python安装pip3常见问题
    linux下安装python3
    接口_注册接口
    接口_简单get接口_第一个接口
    Python学习笔记_Redis
  • 原文地址:https://www.cnblogs.com/yt954437595/p/15249980.html
Copyright © 2020-2023  润新知