form1.cn
Make a little progress every day

Mybatis遇到的问题:There is no getter for property named 'search' in 'class java.lang.String'

10th of August 2017 Java Java 3264

org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'parentId' in 'class java.lang.String'


看我的sql,其中<if test="search != null">,就因为这个报的错误

<select id="selectJoinFoManager" resultMap="JoinFoManagerMap" parameterType="java.lang.String" >
    SELECT a.id,a.user_id,a.username,a.uname,a.ip,a.ctime,a.browser,a.system,b.number
    FROM `fo_manager_record` a
    LEFT JOIN fo_manager b
    ON a.user_id=b.id
    <if test="search != null">
    WHERE a.username LIKE CONCAT(CONCAT('%', #{search}),'%') OR a.uname LIKE  CONCAT(CONCAT('%', #{search}),'%')
    </if>
    ORDER BY a.id desc
  </select>


出现原因:

这里出现的问题是在DAO方法中定义的参数 与 实体中定义的属性不一致 导致的。


解决方法:

Dao层接口方法的参数声明加上@Param("search")

如下:

public interface FoManagerRecordMapper {
    List<FoManagerRecord> selectJoinFoManager(@Param("search") String search);
}