mybatis中出现There is no getter for property named 'depIds' in 'class java.lang.String'的错误

来源:互联网 发布:最专业的网络推广价格 编辑:程序博客网 时间:2024/05/21 19:32

今天在用mybatis的时候,出现这个错误 There is no getter for property named 'depIds' in 'class java.lang.String',当时看了对应的实体类中是有get方法的,后来修改了mapper中的方法参数就可以了

原来是这样写的,

public abstract List<SocialAndFundVo> getByDepIdAndName(String depIds);
少了一个注解

下图的@param注解


来补充一下原因

(1)mybatis 处理单个参数的时候,不对参数做过多处理,这个时候,xml中等的#{}中的那个名字可以随便写

(2)mybatis处理多个参数的时候,mybatis会将参数封装成map,key就是以param1......到paramN(或者是索引,从0开始),value就是我们的mapper接口方法中参数对应的值,所以,我们在xml中,需要在#{}这里面写key,比如param1,或者paramN这样的,但是当我们使用@param()注解之后,我们相当于将value的值重写设置,所以我们才可以在xml中得到值,当然,我们的@param()注解中写的是什么,那我们在mapperXml中de #{}里面写的就应该是什么,这样值才会取对

阅读全文
0 0
原创粉丝点击