Mybatis找不到参数错误 There is no getter for property named 'catego

                Mybatis找不到参数错误:There is no getter for property named 'categoryId' in 'class java.lang.Integer'。


错误
List<Post> listPage(Integer categoryId);
在测试时报错:There is no getter for property named 'categoryId' in 'class java.lang.Integer'


 问题分析:Mybatis默认采用ONGL解析参数,所以会自动采用对象树的形式取string.value值,引起报错。
 解决方法:  List<Post> listPage(@Param("categoryId")Integer categoryId); 说明参数值。
 
 sql语句
 <select id="listPage" resultMap="PostResultMap">
  select id,title,summary,create_time from p2p_post
   where status=0 
   <if test="categoryId != null">
    and category_id=#{categoryId}
   </if>
   order by id
  desc
 </select>
 
 最让人郁闷的是,以前在只有1个参数的时候,都是不用@Param注解的,一般只有在多个参数的时候,才需要用。
 为什么这次,只有1个参数,也必须用@Params注解呢?
 -----------------------
 第2天早上,问了下boss,感觉还是有道理的。
 
 正解一:
 @Select("select * from ..")
 List<Post> listPage(Integer categoryId);
 
 正解二:
  List<Post> listPage(@Param("categoryId")Integer categoryId);
  <select>..</select>
  
 正解三:
   List<Post> listPage(Integer categoryId);
  <select id="listPage" parameterType="java.lang.Integer" resultMap="PostResultMap">
  
  </select>
 
 昨天遇到的那个问题,问题关键就是:xml文件中的select映射语句,默认参数类型是map,从map里取属性,所以总是找不到。
 或者是当作对象类型吧。
 因此,用@Param注解或手动指定参数类型。
 
 理论上是这样,没有去一一校验。
 
 另外需要说明,多个参数,必须使用@Param,或者用Map,或者对象。           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]:出现的错误信息是关于MyBatis的异常,具体是MyBatisSystemException和ReflectionException。错误信息提到了一个属性名为'ew'的属性,在com.baomidou.mybatisplus.core.conditions.query.QueryWrapper类不到对应的getter方法。这个错误通常发生在使用MyBatis-Plus时,可能是因为在查询条件使用错误的属性名或者属性名拼写错误。解决这个问题的方法是检查代码的查询条件,确保属性名的正确性。 问题:使用mybatis-plus时遇到there is no getter for property named 'ew'的错误,该如何解决? 回答: 出现这个错误通常是因为在使用MyBatis-Plus时,查询条件使用错误的属性名或者属性名拼写错误。解决这个问题的方法是检查代码的查询条件,确保属性名的正确性。请检查您的代码是否正确使用了属性名'ew',并且确保该属性在com.baomidou.mybatisplus.core.conditions.query.QueryWrapper类存在对应的getter方法。如果属性名拼写正确且存在对应的getter方法,那么可能是其他原因导致的错误,请进一步检查您的代码和配置是否正确。 #### 引用[.reference_title] - *1* [Mybatis-plus查询问题 There is no getter for property named ‘ew’ in ‘class:query.QueryWrapper](https://blog.csdn.net/rows_com/article/details/120163341)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值