Mybatis入门学习(二)

一、Mybatis的模糊查询集合参数

1、多条件模糊查询

1.1多参数查询

(1)在EmployeeDao的数据访问接口中新增多条件查询方法

  /**
     * 使用姓名、性别进行多条件查询
     * @param name
     * @param sex
     * @return
     */
    public List<Employee> queryList(String name,String sex);

(2)在EmployeeMapper.xml文件中更新配置,

<!--多条件查询-->
    <!--两个参数,通过用户名称和性别进行模糊查询,名称模糊查询-->
<select id="queryList" resultType="com.lss.bean.Employee">
    <!-- #{}默认采用预处理方式去处理Sql语句 -->
    <!-- ${}默认采用 非预处理方式去处理数据 -->
    select * from employee where ename like '${param1}%' and esex = #{param2}
</select>

其中要注意的是:

#{}默认采用的是预编译的处理方式去处理SQL语句

${}默认采用的是非预编译的处理方式去处理SQL语句

 (3)在测试类中进行测试

 @Test
    public void queryList(){
        // 调用方法得到员工对象集合
        List<Employee> employeeList = employeeDao.queryList("克","男");
        //遍历输出
        for(Employee employee: employeeList){
            System.out.println(employee.getEid()+"\t"+employee.geteName()+"\t"+employee.geteAge()+"\t"+employee.geteSex()+"\t"+employee.getePass()+"\t"+employee.geteAddr());
        }
    }

1.2在接口中使用注解,给参数起别名

/**
     * 使用姓名、性别进行多条件查询
     * @param name
     * @param sex
     * @return
     */
    public List<Employee> queryList1(@Param("name")String name,@Param("sex")String sex);
<!--使用起别名的方式进行查询-->
<select id="queryList1" resultType="com.lss.bean.Employee">
    select * from employee where ename like '%${name}%' and esex = #{sex}
</select>
 @Test
    public void queryList1(){
        // 调用方法得到员工对象集合
        List<Employee> employeeList = employeeDao.queryList1("哈","男");
        //遍历输出
        for(Employee employee: employeeList){
            System.out.println(employee.getEid()+"\t"+employee.geteName()+"\t"+employee.geteAge()+"\t"+employee.geteSex()+"\t"+employee.getePass()+"\t"+employee.geteAddr());
        }
    }

1.3使用Map容器传参数进行查询

/**
     * 多条件查询
     * @param map 查询参数集合
     * @return 员工对象集合
     */
    public List<Employee> queryList3(Map map);
    <!--使用Map容器传参数-->
    <select id="queryList3" resultType="com.lss.bean.Employee">
        select * from employee where ename like '%${name}%' and esex = #{sex}
    </select>
 @Test
    public void queryList3(){
        Map<String,String> map  = new HashMap<>();
        map.put("name","哈");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值