在mybatis的sql语句汇总实现模糊查询
时间: 2024-05-27 15:11:18 浏览: 10
1. 使用通配符实现模糊查询:
SELECT * FROM table_name WHERE column_name LIKE '%keyword%';
2. 使用CONCAT函数实现模糊查询:
SELECT * FROM table_name WHERE CONCAT(column1_name, column2_name) LIKE '%keyword%';
3. 使用OR运算符实现多列模糊查询:
SELECT * FROM table_name WHERE column1_name LIKE '%keyword%' OR column2_name LIKE '%keyword%';
4. 使用动态SQL实现模糊查询:
<select id="selectByKeyword" resultType="entity">
SELECT * FROM table_name
<where>
<if test="keyword != null and keyword != ''">
AND (column1_name LIKE concat('%', #{keyword}, '%') OR column2_name LIKE concat('%', #{keyword}, '%'))
</if>
</where>
</select>
相关问题
mybatis模糊查询sql语句
MyBatis支持模糊查询,可以使用通配符%或_来实现。
通配符%表示任意多个字符,例如:
```sql
SELECT * FROM users WHERE name LIKE '%张%';
```
上面的SQL语句会查询所有名字中包含“张”的用户。
通配符_表示一个任意字符,例如:
```sql
SELECT * FROM users WHERE phone LIKE '138%2_';
```
上面的SQL语句会查询所有手机号以“138”开头,并且第五位为2的用户。
在MyBatis中,可以使用`${}`或者`#{}`来实现动态参数的绑定。其中`${}`会直接替换成参数的值,`#{}`则会将参数值加上单引号再替换。因此,在使用模糊查询时,推荐使用`#{}`。
例如:
```xml
<select id="getUserByName" parameterType="String" resultType="User">
SELECT * FROM users WHERE name LIKE CONCAT('%', #{name}, '%')
</select>
```
上面的XML语句将会查询所有名字中包含参数name的用户。注意,在使用`CONCAT`函数时,要用`#{}`将参数包裹起来。
mybatis动态sql模糊查询
MyBatis提供了动态SQL的功能,可以根据不同的条件组装不同的SQL语句,实现灵活的查询操作。下面是一个使用动态SQL实现模糊查询的示例:
```
<select id="findUserByName" parameterType="String" resultType="User">
SELECT * FROM user
<where>
<if test="name != null and name != ''">
AND name like concat('%', #{name}, '%')
</if>
</where>
</select>
```
这个示例中,使用了`<where>`和`<if>`标签来实现动态SQL。`<where>`标签会在其中包含的条件成立时,自动添加一个WHERE关键字。`<if>`标签根据条件动态生成SQL语句,这里是根据`name`参数是否为空来判断是否需要添加模糊查询条件。
其中`#{name}`是MyBatis的占位符语法,表示接收一个参数,可以直接在SQL语句中使用。这里使用`concat`函数拼接了模糊查询的通配符,实现了模糊查询的功能。
使用这个示例,可以调用如下代码来查询用户:
```
List<User> userList = sqlSession.selectList("findUserByName", "张三");
```
这样就可以根据姓名模糊查询用户了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)