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裏面不知道取哪個,要用對象點屬性才能識別。
怎麼升級之後反而變蠢了了?

 
 

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