第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > mybatis mysql like 传参问题_关于mybatis中llike模糊查询中参数问题

mybatis mysql like 传参问题_关于mybatis中llike模糊查询中参数问题

时间:2019-05-09 15:45:34

相关推荐

mybatis mysql like 传参问题_关于mybatis中llike模糊查询中参数问题

转自/u010398771/article/details/70768280

在mybatis中经常要写到like 查询,以前从来没有遇到什么问题,突然遇到一个问题,找了好长时间没找到,最后找到了,是关于#和$的使用的,总结如下:

name like 表达式 and falg=#{falg}

本次示例中共两个条件,一个是name like 表达式, 还有flag相等,这个是使用#{}占位符,没有任何问题,关键问题就是 表达式的书写.下面来研究下表达式的书写:

如果写成\%#{name}% ,就会报错Parameter index out of range (2> number of parameters, which is 1).这个错误,就是参数的问题,所以就查阅了一下资料,然后结合自己的实践,得到总结如下:

本次使用 mysql 5.5.27和mybatis3.2.7进行测试

1.表达式: name like"%"#{name}"%"

==>Preparing: select * from bbs_brand WHERE namelike"%"?"%"and falg=? limit 0 , 10

==>Parameters:莲(String), 1(Integer)

能够查询出来,没有问题,这是使用了占位符来占位,写成SQL就是: name like "%"莲\"%"没有问题

2.表达式: name like\%${name}%

Preparing:select count(0) from (select * from bbs_brand WHERE name like\%莲%and falg&#

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。