org.apache.ibatis.reflection.ReflectionException: There is no getter for property named ...

项目场景:

 在做黑马苍穹外卖项目,完成套餐管理模块后,遇到以下bug:

org.apache.ibatis.reflection.ReflectionException: There is no getter for property named ..._第1张图片


问题描述:

 控制台信息


原因分析:

在mapper接口中的添加套餐语句的@Insert注解上,实体类属性与sql字段的命名统一问题.

@Insert

("insert into setmeal (category_id, name, price,status, description, image, create_time, update_time, create_user, update_user) " +

"values (#{categoryId},#{name},#{price},#{status},#{description},#{image},#{create_time},#{update_time},#{create_user},#{update_user})")


解决方案:

1.将sql语句的参数

#{create_time},#{update_time},#{create_user},#{update_user}

改为单驼峰:

#{createTime},#{updateTime},#{createUser},#{updateUser}

2.修改配置文件

application.yml配置文件

mybatis:
  #mapper配置文件
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.sky.entity
  configuration:
    #开启驼峰命名
    map-underscore-to-camel-case: true

(明明已经开启,但是依然会报错?)

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