在 MyBatis 中,可以使用 % 和 _ 通配符来进行模糊查询。
 
下面是一个示例的模糊查询语句:
  <select id="seleteUser" resultType="com.example.goods_admin.entity.User">select * from user<where><if test="keyWord !=null and keyWord!=''">userName like concat('%', #{keyWord}, '%')</if></where></select>在上述代码中,#{keyword} 是一个占位符,表示要查询的关键字。like关键字用于进行模糊匹配,concat() 函数用于拼接字符串。
% 和 _ 通配符
 
-  %通配符:%通配符表示任意数量的字符(包括零个字符)。在模糊查询中,%通配符可以匹配任意长度的字符串。例如,如果要查询以 "abc" 开头的所有记录,可以使用 like'abc%'。
-  _通配符:_通配符表示单个字符。在模糊查询中,_通配符可以匹配一个任意字符。例如,如果要查询第二个字符为 "b" 的所有记录,可以使用like'_b%'。
区别:
- %通配符可以匹配任意长度的字符串,而- _通配符只能匹配单个字符。
- %通配符可以出现在字符串的开头、中间或结尾,而- _通配符只能出现在字符串的中间位置。
以下是一些示例:
- like'abc%':匹配以 "abc" 开头的字符串,如 "abc123"、"abcd"。
- like'%xyz':匹配以 "xyz" 结尾的字符串,如 "123xyz"、"abcdxyz"。
- like'%abc%':匹配包含 "abc" 的任意位置的字符串,如 "123abc456"、"abcxyz"。
- like'_b%':匹配第二个字符为 "b" 的字符串,如 "ab123"、"cbxyz"。