一个简单的模糊查询折腾了一晚上,十分郁闷。。后来找师傅来调试,终于发现问题!
select MumberID,telephoneNum,name,registrationTime,age,area,lastLoginTime from member where <!-- telephoneNum like '%'#{phoneNumber,jdbcType=VARCHAR}'%' --> telephoneNum like CONCAT(CONCAT('%',#{telephoneNumber}),'%') <!-- telephoneNum like #{telephoneNumber} -->
看上面注销的语句都是试过的方式,但统统查询不到。。
于是就看地址栏传的参数。。
原地址栏如下:
http://localhost:8081/psw/memberInfo/search?telephoneNumber=“188“
后台查询结果:
Preparing: select MumberID,telephoneNum,name,registrationTime,age,area,lastLoginTime from member where telephoneNum like CONCAT(CONCAT('%',?),'%') Parameters: “188”(String) Total: 0
换为如下地址:
http://localhost:8081/psw/memberInfo/search?telephoneNumber=188
后台查询结果:
Preparing: select MumberID,telephoneNum,name,registrationTime,age,area,lastLoginTime from member where telephoneNum like CONCAT(CONCAT('%',?),'%') Parameters: 188(String) Total: 2
看到问题了吗。。
真是让人猝不及防!所以以后地址栏传参一定要注意引号问题,因为地址栏接收的本来就是字符串,不会自动转换,后台接收的就是=号后面直接赋值的字符串!!
问题解决,引以为戒!
关于地址栏传参mybatis模糊查询
最新推荐文章于 2023-05-20 11:06:37 发布