Mybatis中的模糊查询和sql中字符串拼接

Mybatis中的模糊查询和sql中字符串拼接

2023年7月24日发(作者:)

Mybatis中的模糊查询和sql中字符串拼接Mybatis中的模糊查询和sql中字符串拼接Mybatis中的模糊查询今天下午做的⼀个功能,要⽤到模糊查询,字段是description,刚开始我的写法⽤的是sql中的模糊查询语句,但是这个有问题,只有将字段的全部值传⼊其中,才能查询,所以不是迷糊查询。后来经过搜索,发现要加上⼀个concat字段,要先将字符串拼接后,才能实现模糊查询。改成这个样⼦后,模糊查询功能实现。在我搜索到的博客中海油别的⼏种写法,但是试验了两个,有⼀个成功,另外⼀个没能实现模糊查询,但是⽬前还不知道错误在哪⾥。如果有⼈知道,请赐教。他的博客地址是:第⼀种⽅法:1. sql中字符串拼接SELECT * FROM tableName WHERE name LIKE CONCAT(CONCAT('%', #{text}), '%');我就是按照此⽅法实现了功能。其实还有种⽅法:像这样写也⾏:第⼆种⽅法:2. 使⽤ ${...} 代替 #{...}SELECT * FROM tableName WHERE name LIKE '%${text}%';这个我试过之后,发现并没有实现模糊查询的功能,⽽且⽬前也不知道哪⾥出错了,如果有⼈知道请指教。第三种⽅法:3. 程序中拼接Java// String searchText = "%" + text + "%";String searchText = new StringBuilder("%").append(text).append("%").toString();("text", searchText);ECT * FROM tableName WHERE name LIKE #{text};这个⽅法我没有试过,但是还是记录下来,以后试试还有第四种⽅法4. ⼤⼩写匹配查询SELECT * FROM TABLENAME WHERE UPPER(SUBSYSTEM) LIKE '%' || UPPER('jz') || '%'或者

SELECT * FROM TABLENAME WHERE LOWER(SUBSYSTEM) LIKE '%' || LOWER('jz') || '%'正确。

发布者:admin,转转请注明出处:http://www.yc00.com/news/1690193546a312460.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信