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、 测试

 工程目录:

猜你喜欢

转载自blog.csdn.net/qq_45947664/article/details/129403276