mybatis列表查询多条件模糊查询
时间: 2024-12-02 13:19:14 浏览: 16
利用MyBatis实现条件查询的方法汇总
在MyBatis中,如果你想要执行一个多条件的模糊查询,特别是在列出结果时,通常会涉及到动态SQL的使用。MyBatis提供了一种灵活的方式来构建动态的SQL语句,特别是通过`<if>`, `<choose>`, `<when>`等标签,以及`where`元素配合`like`关键字。
假设你有一个员工信息表`employee`,你想根据名字和部门名查找包含特定关键词的所有员工,你可以这样做:
```xml
<select id="selectEmployees" resultType="Employee">
SELECT * FROM employee
<where>
<if test="name != null and name.trim() != ''">
AND name LIKE CONCAT('%', #{name}, '%')
</if>
<if test="department != null and department.trim() != ''">
AND department LIKE CONCAT('%', #{department}, '%')
</if>
</where>
</select>
```
在这个例子中,`#{name}` 和 `#{department}` 是MyBatis的参数占位符,传入的时候就是用户的搜索关键词。`LIKE CONCAT('%', ..., '%')`用于进行模糊匹配, `%` 表示任意字符(包括0个字符)。
阅读全文