mybatis-plus 入参对象不识别的问题

引子:因为mybatis-plus版本更新 从1.0.5升级到了目前的3.2.0版本

<!-- mybatis-plus -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <!--<version>1.0.5</version>-->
            <version>3.2.0</version>
        </dependency>

以前的一些方法用不了了。入参的对象属性不识别了,升级之前经过多轮测试都是可以 的,升级之后报错,就某属性没绑定怎么的org.apache.ibatis.binding.BindingException: Parameter 'XXX' not found. 

这些参数是在xml里的<if test>判断的,但无法识别。

弄了半天,终于找到原因 ,dao层,传参我有两个对象 ,第一个是page对象(分页用的) ,第二个是对象实体

解决方式1:

升级前,可以。如对象实体里有个 userName属性,可以在里面直接用userName判断 ,取值,正常。

升级后 ,不能直接用userName判断,不识别,要用对象.才可以   arg1.userName   因为我对象是第二个对象,如果是第一个对象就要arg0.userName。测试正常。

解决方式2:

在dao层在 对象 ,加个@Param("XXX"),然后在xml里用xxx.userName 。测试正常

总结:

升级前如果带了Page对象和一个实体对象 ,会自动规避page对象,可以直接识别实体对象的值。

升级后如果带了Page对象和一个实体对象,会把这里当成两个对象,在xml里面不知道取哪个,要用对象点属性才能识别。
怎么升级之后反而变蠢了了?

 
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章