Mybatis多条件查询三种方式

Myabtis学习

多条件查询三种方式



前言

大学时,学习大多以理论为主,教师上课也不会讲的很细,现在工作之后用到的一些技术和框架我一般会在b站找学习教程,笔者用到最多的教程是黑马。


一、什么是多条件查询?

当查询时所需要的参数多于一个时,这种情况下Mybatis有三种方式。

二、三种方法使用步骤

三种方式进行查询,sql都是一样的。

BrandMapper.xml

<select id="selectByCondition" resultMap="brandResultMap">
        select *
        from tb_brand
        where
        status = #{status}
          and brand_name like #{brandName}
          and company_name like #{companyName}
    </select>

1.散装参数

Brandmapper.java 代码如下(示例):
需要使用@Param注解

List<Brand> selectByCondition(@Param("status") int status,
                                  @Param("brandName") String brandName,
                                  @Param("companyName") String companyName);

测试代码,对参数赋值,再调用方法

  int status = 1;
  String companyName = "%华为%";
  String brandName = "%华为%";
  List<Brand> brands = brandMapper.selectByCondition(status,brandName,companyName);

2.实体类封装参数

Brandmapper.java 代码如下(示例):
传递参数和返回值都是Brand类型
需要SQL参数名和实体类属性名对应

List<Brand> selectByCondition(Brand brand);

测试代码,对参数赋值,封装对象,再调用方法

int status = 1;
String companyName = "%华为%";
String brandName = "%华为%";
//封装对象
Brand brand = new Brand();
brand.setStatus(status);
brand.setBrandName(brandName);
brand.setCompanyName(companyName);
//调用方法
List<Brand> brands = brandMapper.selectByCondition(brand);

2.map集合

Brandmapper.java 代码如下(示例):
传递参数是map
需要SQL参数名和map集合键值对应

List<Brand> selectByCondition(Map map);

测试代码,对参数赋值,讲属性名和值放在map集合中,再调用方法

int status = 1;
String companyName = "%华为%";
String brandName = "%华为%";

Map map = new HashMap();
map.put("status",status);
map.put("companyName",companyName);
map.put("brandName",brandName);

List<Brand> brands = brandMapper.selectByCondition(map);

总结

以上就是今天要讲的内容,本文仅仅简单介绍了Mybatis多条件查询的方法,是笔者学习黑马教程后所作笔记。

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值