mybatis 模糊查询
时间: 2023-09-27 14:08:28 浏览: 101
MyBatis 中的模糊查询可以使用 SQL 中的 `LIKE` 关键字实现。
例如,假设我们有一个表 `user`,其中有一个名为 `name` 的字段,我们想要模糊查询名字中包含关键字 `Tom` 的用户,可以使用以下 SQL 语句:
```sql
SELECT * FROM user WHERE name LIKE '%Tom%'
```
在 MyBatis 中,我们可以使用 XML 映射文件或注解方式来实现该查询,如下所示:
XML 映射文件:
```xml
<select id="selectUsersByName" resultType="User">
SELECT * FROM user WHERE name LIKE CONCAT('%', #{name}, '%')
</select>
```
注解方式:
```java
@Select("SELECT * FROM user WHERE name LIKE CONCAT('%', #{name}, '%')")
List<User> selectUsersByName(String name);
```
其中,`#{name}` 表示使用 MyBatis 参数占位符的方式来代替 SQL 中的参数,防止 SQL 注入攻击。`CONCAT()` 函数用于将 `%` 和参数拼接起来,构成模糊查询的关键字。
相关问题
Mybatis模糊查询
Mybatis是一种Java持久化框架,它提供了一种简单而强大的方式来进行数据库操作。在Mybatis中,模糊查询可以通过使用通配符或者正则表达式来实现。
通配符查询是指使用特殊字符来代替一个或多个字符,常用的通配符有:
- %:表示任意字符出现任意次数
- _:表示任意单个字符
在Mybatis中,可以使用LIKE关键字结合通配符来进行模糊查询。例如,如果要查询名字以"张"开头的用户,可以使用以下语句:
```
SELECT * FROM user WHERE name LIKE '张%'
```
这样就可以查询到名字以"张"开头的用户。
另外,Mybatis还支持使用正则表达式进行模糊查询。可以使用MySQL的REGEXP关键字来实现。例如,如果要查询名字中包含"张"的用户,可以使用以下语句:
```
SELECT * FROM user WHERE name REGEXP '张'
```
这样就可以查询到名字中包含"张"的用户。
mybatis模糊查询
MyBatis模糊查询可以通过在SQL语句中使用LIKE关键字来实现。例如,可以使用以下语句实现以"abc"开头的模糊查询:
SELECT * FROM table_name WHERE column_name LIKE 'abc%'
如果要实现以"abc"结尾的模糊查询,则可以使用以下语句:
SELECT * FROM table_name WHERE column_name LIKE '%abc'
如果要实现包含"abc"的模糊查询,则可以使用以下语句:
SELECT * FROM table_name WHERE column_name LIKE '%abc%'
阅读全文