日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mybatisplus修改单个属性_Mybatis Plus 中 参数传递的优化之路

發(fā)布時間:2025/3/21 编程问答 52 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mybatisplus修改单个属性_Mybatis Plus 中 参数传递的优化之路 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

從項目開始使用 Mybatis Plus 到現(xiàn)在,對 Mapper 傳遞參數(shù)的方式做了多個版本的改進和優(yōu)化。這篇文章主要講解在改版和優(yōu)化過程中遇到的問題,以及當時的一些想法。

第一版:單個參數(shù)傳遞

傳遞方式如下:

UserMapper.java

List

UserMapper.xml

<!--查詢所有用戶信息-->

注:項目開始階段,功能比較簡單,需求也比較簡單,所以沒有使用太多查詢條件。

第二版:多個參數(shù)傳遞

在此先說下錯誤的使用方式:

List

報錯信息如下:

"nested exception is org.apache.ibatis.binding.BindingException: Parameter 'name' not found. Available parameters are [arg2, arg1, arg0, param3, param1, param2]"

報錯的原因是:這樣的傳參方式,Mybatis 是無法識別參數(shù)名的,必須進行參數(shù)綁定。具體原因可以自行上網(wǎng)查詢。

正確的傳參方式需要把每一個參數(shù)與 Mapper.xml 中的參數(shù)進行綁定,如下:

List

UserMapper.xml

<!--查詢所有用戶信息-->

第三版:優(yōu)化多參數(shù)傳遞

當參數(shù)特別多的時候,你會發(fā)現(xiàn)整個參數(shù)列表會寫得很長。這時候就想,能不能通過一個對象去傳參數(shù)

UserMapper.java

List

UserMapper.xml

<!--查詢所有用戶信息-->

第四版:再次優(yōu)化多參數(shù)傳遞

雖然第三版已經(jīng)夠精簡了,但是有個問題。所有的參數(shù)都必須放進一個對象中,這個對象勢必非常臃腫。如果使用多個對象進行傳遞,又會出現(xiàn)之前的問題,參數(shù)列表中的參數(shù)過多。

想到在修改第二版的時候,有個報錯,報錯信息如下:

"nested exception is org.apache.ibatis.binding.BindingException: Parameter 'name' not found. Available parameters are [arg2, arg1, arg0, param3, param1, param2]"

通過網(wǎng)上查找得知,Mybatis 的參數(shù)映射方式是通過 Map。于是修改為以下的版本。

UserServiceImpl.java

public

UserMapper.java

List

UserMapper.xml

<!--查詢所有用戶信息-->

改版大致經(jīng)歷了以上四個過程,希望能對大家有所幫助。


如果文章有幫助到了你,歡迎點贊、轉(zhuǎn)發(fā)。

如果文章有錯誤的地方,歡迎留言交流。

總結(jié)

以上是生活随笔為你收集整理的mybatisplus修改单个属性_Mybatis Plus 中 参数传递的优化之路的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。