zoukankan      html  css  js  c++  java
  • Mybatis查询报错:There is no getter for property named '*' in 'class java.lang.String

    问题:
    执行查询时报错:There is no getter for property named '*' in 'class java.lang.String
    原因:
    传过去的参数为识别。本例为

    public interface TestMapper{
        List<Base> findAllBase(String search);
    }
    
    <select id="findAllBase" resultType="*.Base" parameterType="String">
            select id,name from t_base
            where 1=1
            <if test="search != null and search != ''">
                AND name LIKE CONCAT('%',#{search },'%')
            </if>
            order by id
    </select>
    

    解决方法:
    1、在mapper接口增加参数设置,如下:

    public interface TestMapper{
        List<Base> findAllBase(@Param(value="search") String search);
    }
    

    2、将具体报错的变量名更换为_parameter,如下:

    <select id="findAllBase" resultType="*.Base" parameterType="String">
            select id,name from t_base
            where 1=1
            <if test="_parameter!= null and _parameter!= ''">
                AND name LIKE CONCAT('%',#{search },'%')
            </if>
            order by id
    </select>
    
  • 相关阅读:
    【BZOJ2806】【CTSC2012】—熟悉的文章(二分答案+广义后缀自动机+单调队列优化dp)
    2017-2-15
    2017-2-14
    2017-2-13
    CSS居中
    2017-2-10
    微信小程序
    2017-2-9
    2017-2-8
    基础知识再整理: 01
  • 原文地址:https://www.cnblogs.com/caozz/p/10531275.html
Copyright © 2011-2022 走看看