關於模糊查詢

關於模糊查詢

老師請問一下
本次的模糊查詢是這樣寫的
----------------
shop接口
List<Shop> queryShopList(@Param("shopCondition")Shop shopCondition
        ,@Param("rowIndex")int rowIndex,@Param("pageSize")int pageSize);
-----------------
.xml
<if .....
and s.shop_name like '%${shopCondition.shopName}%'
</if>
------------
想請問的是,如果我想用#{}的方式--> "%"#{shopCondition.shopName}"%" 的方式來寫的話
1.使用上面的shop接口是不是沒辦法成功?
--------
2.要實現的話,是不是應該改成下面這樣呢?
------
接口
List<Shop> queryShopList(@Param("shopCondition")Shop shopCondition
        ,@Param("rowIndex")int rowIndex,@Param("pageSize")int pageSize
        ,@Param("shopName")String shopName);
-----------------
.xml
<if .....
and s.shop_name like "%"#{shopName}"%"
</if>
----------
3.但是用2的方式好像又怪怪的,因為shopCondition已經有shopName的資訊了,請問有更好的使用方法嗎?


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好

同学的接口还用原来的就可以的:

List<Shop> queryShopList(@Param("shopCondition")Shop shopCondition
        ,@Param("rowIndex")int rowIndex,@Param("pageSize")int pageSize);

xml可以这样改一下 :  concat这个函数可以把这几个字符串拼接到有一起:

http://img1.sycdn.imooc.com//climg/5ef6f48c09fec6f507130086.jpg如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

好帮手慕阿满 2020-06-27 15:16:54

同学你好,如果使用"%"#{shopCondition.shopName}"%" 这种方法,会因为缺少单引号而报错。同学可以在传参时,传入带%的参数。

祝:学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师