在mybatis的sql语句汇总实现模糊查询
时间: 2024-05-27 14:11:18 浏览: 68
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的功能,可以根据不同的条件组装不同的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", "张三");
```
这样就可以根据姓名模糊查询用户了。
mybatis如何实现查询模糊查询
Mybatis可以使用通配符来实现模糊查询,通配符包括百分号(%)和下划线(_)。其中,百分号代表任意字符,下划线代表单个字符。在SQL语句中,使用LIKE关键字来进行模糊查询。例如,使用SELECT语句查询名字中包含“张”的用户可以写成:SELECT * FROM user WHERE name LIKE '%张%';
阅读全文