Mybatis There is no getter for property named 'id' in class java.lang

1,489 阅读1分钟
原文链接: kuka.im

There is no getter for property named ‘id’ in class java.lang 的解决方案

之前在使用 Mybatis 的时候,比如根据主键 ID 去删除数据的时候,都是传入一个 Map,然后解析 Map 中的参数内容,那样的话,就多产生了一个对象,比如

Map params = new HashMap();
params.put("uid",uid);
xxxMapper.delete(params);

对应 xml 文件中的 delete 方法


    DELETE FROM
    
    
        uid = #{uid}
    
    ;

现在想明明可以直接用一个 ID 就行的,这里由于没有其他参数,所以没必要使用 Map 来,所以就打算直接将 ID 传入

对应 xml 文件中的 delete 方法


    DELETE FROM
    
    
        uid = #{uid}
    
    ;

本来以为这样就行了,但是却报出了

There is no getter for property named ‘accountId’ in ‘class java.lang

上网查了很多资料,发现都不适用,最后在 stackoverflow

看到了国外的小伙伴也遇到该问题,然后看了他人的回复,发现需要将 uid = #{uid} 中的 uidvalue 代替。

改完后的 xml


    DELETE FROM
    
    
        uid = #{uid}
    
    ;

这样既可。