Mybatis使用PageHelper出现 There is no getter for property named '__frch_criterion_1' in 'class错误解决方法

在使用Mybatis PageHelper插件进行分页查询时,如果查询条件带参数,可能会遇到‘There is no getter for property named’的错误。这可能是由于Mybatis的一个Bug导致的。解决方法是在mapper接口的方法参数前添加@Param("example")注解,并在mapper.xml文件中正确引用example,同时更新查询语句中的条件判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用mybatis插件自动生成的example查询分页,不带条件时可以成功,带条件会报错There is no getter for property named '__frch_criterion_1' in 'class  xxx。

这应该是mybatis的一个Bug。

解决方法:

在mapper接口文件中在方法参数前加上@Param("example")

  List<TbContent> selectByExampleWithBLOBs(@Param("example") TbContentExample example);

  List<TbContent> selectByExample(@Param("example") TbContentExample example);

 

然后在mapper.xml文件中and ${criterion.condition}前加上example

  <sql id="Example_Where_Clause" >
    <where >
      <foreach collection="example.oredCriteria" item="criteria" separator="or" >
        <if test="criteria.valid" >
          <trim prefix="(" suffix=")" prefixOverrides="and" >
            <foreach collection="criteria.criteria" item="criterion" >
              <choose >
                <when test="criterion.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值