mybatis实现多条件模糊查询
1、 EmployeeMapper.xml
<!-- 配置查询:根据姓名模糊查询员工信息 --> <select id="findByName" resultType="employee"> SELECT id,NAME,gender,idcard,nationid FROM employee WHERE 1=1 <if test="name != null"> <bind name="p_name" value="% + name + %"/> and NAME LIKE #{p_name} </if> </select> <!-- 配置查询:多条件模糊查询员工信息 --> <select id="findByCondition" resultType="employee"> SELECT id,NAME,gender,idcard,nationid FROM employee WHERE 1=1 <if test="id != 0"> and id = #{id} </if> <if test="name != null"> <bind name="p_name" value="% + name + %"/> and NAME LIKE #{p_name} </if> <if test="idcard != null"> and idcard = #{idcard} </if> <if test="nationid != 0"> and nationid = #{nationid} </if> </select>
2、调用数据层
public interface EmployeeMapper { // 姓名查询员工信息 public List<Employee> findByName(String name); // 多条件组合查询查询员工信息 public List<Employee> findByCondition(@Param("id") int id, @Param("name")String name, @Param("idcard")String idcard, @Param("nationid")int nationid); public List<Employee> findByCondition(Employee employee); }
3、 测试
工程目录: