首页 > 其他分享 >配置文件 条件查询

配置文件 条件查询

时间:2023-03-26 11:22:25浏览次数:40  
标签:status 配置文件 companyName brand 查询 brandName 参数 条件

  1. 编写接口方法:Mapper

      **参数:所有查询条件

      **结果:List<Brand>

  2. 编写SQL语句:SQL映射文件

  3. 执行方法,测试

方法一:

步骤一:

在BrandMapper.xml文件中设置select查询语句

<select id="selectByCondition" resultMap="brandResultMap">
select  *
from tb_brand
where
    /**
      *status等值连接
      company_name和brand_name使用like进行模糊查询
      #:参数占位符号
     */
        status = #{status}
    and company_name like #{companyName}
    and brand_name like #{brandName}
</select>

步骤二:

在同一路线上对应的BrandName.java上写方法对应的方法语句。

//条件查询:根据status进行等值查询,根据company_name和brand_name进行模糊查询

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

步骤三:

在MyBatisTest.java上书写调用方法代码
//条件查询:根据status进行等值查询,根据company_name和brand_name进行模糊查询
public void testselectByCondition() throws IOException {
//接受参数 int ststus = 1;//现在是固定数据,以后会变成动态数据 String companyName = "华为"; String brandName = "华为";
//处理参数,模糊查询需要自带百分号或者下划线,这样处理可以带上百分号 companyName = "%" + companyName + "%"; brandName = "%" + brandName + "%";
//1. 获取SqlSessionFactory String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//2.获取Sqlsession对象 SqlSession sqlSession = sqlSessionFactory.openSession();
//3.获取Mapper接口的代理对象 BrandMapper brandMapper = sqlSession.getMapper(BrandMapper.class);
//4.执行方法 List<Brand> brands = brandMapper.selectByCondition(ststus,companyName,brandName); System.out.println(brands);
//5.释放资源 sqlSession.close(); }
Ps.1.在BrandMpapper.java文件上进行条件查询方法书写时,它的参数接收是散装参数接收:如果方法中有多个参数,则需要使用@param(”SQL参数占位符的名称”)

BrandMpapper.java文件里@param后的的参数

BrandMpapper.xml文件里的参数

必须一致。
2. 测试类调用函数的时候,需要接收参数,需要将参数处理了,模糊查询需要自带百分号或者下划线,需要手动加上。
    int ststus = 1;//现在是固定数据,以后会变成动态数据

    String companyName = "华为";

    String brandName = "华为";

    //处理参数,模糊查询需要自带百分号或者下划线,这样处理可以带上百分号

    companyName = "%" + companyName + "%";

    brandName = "%" + brandName + "%";
3.在 IntelliJ IDEA 中编辑xml文件,先要对其进行注释的话可以直接用ctrl+/ 快捷键
与之对应的取消快捷键的方式就是用ctrl+shift+/

方法二:

步骤一:

在BrandMapper.java文件里面,调整方法

    //数据Brand封装对象 直接传到方法里来
  List<Brand> selectByCondition(Brand brand);

步骤二:

//处理参数,定义一个关键字,将查询的关键字封装
         Brand brand = new Brand();
         brand.setStatus(status);
         brand.setCompanyName(companyName);
         brand.setBrandName(brandName);
//4.执行方法
        //List<Brand> brands = brandMapper.selectByCondition(status,companyName,brandName);
        List<Brand> brands = brandMapper.selectByCondition(brand);//传入上面定义的关键字
        System.out.println(brands);

 

方法三:

步骤一:

  List<Brand> selectByCondition(Map map);

步骤二:

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

步骤三:

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

 

结果:

 

 

 







 

标签:status,配置文件,companyName,brand,查询,brandName,参数,条件
From: https://www.cnblogs.com/yzx-sir/p/17247777.html

相关文章

  • 人人开源-自定义分页查询
    1.新建dto类@DatapublicclassEntityimplementsSerializable{privatestaticfinallongserialVersionUID=1L;privateStringfindDate;privateI......
  • SQL - 子查询
             #单行子查询#1.查询工资大于149号员工工资的员工信息SELECTe.last_name,e.salaryFROMemployeeseWHEREe.salary>(SELE......
  • es中的滚动查询
    一:简介  Elasticsearch滚动查询也叫游标查询  适合那种需要一次性或分批拉出大量数据做离线处理、迁移等。可以提升点效率。 二:实践中我使用到滚动的场景......
  • 帮师姐把100个Excel中符合条件的数据,汇总到1个Excel里
    大家好,这里是程序员晚枫,B站也叫这个名~后台收到一个读者需求:人事部门有最近3年每个月全公司的工资Excel文件,一共500多个。现在和1位员工有一件劳动纠纷,需要把这1位员工散......
  • c语言当中while的条件为指针
    做第一个笔记记录一种是while(指针变量)/*char*str="string";while(*str){...(省略)str++;}*/while(*str) 的作用等同于 while(*str!=‘\0’)即就是当*s......
  • Winform中通过自带的App.config实现从配置文件中读取配置
    场景Winform中实现保存配置到文件/项目启动时从文件中读取配置(序列化与反序列化对象):Winform中实现保存配置到文件/项目启动时从文件中读取配置(序列化与反序列化对象)_win......
  • 关于aws-s3-bucket-静态网站托管相关的查询-S3.Client.get_bucket_website(**kwargs)
    关于aws-s3-bucket-静态网站托管相关的查询,这里笔者主要整理一下基于AWSSDKforPython(Boto3)方式,相关的判断和逻辑1、首先是判断s3-bucket有没有开启静态网站托管,即页......
  • 配置文件完成增删改查一
    准备环境数据库表tb_brand 实体类Brand 测试用例    ps.在了test文件下安装MyBatisX插件。MyBatisX是一款基于IDEA的快速开......
  • 实体类驼峰命名导致查询出现null
    出现的问题:运行测试类的时候,brandName,companyName出现null值 原因:数据库表的字段名和实体类的属性名称不一样,则不能自动封装数据navicat命名方式:实体类代......
  • IDEA中sql语句的模糊查询查不到数据库中的信息
    IDEA中使用sql的模糊查询查找数据库中的用户姓名,查找不到相关信息。1、排查sql语句没有问题2、确认数据库的编码使用了gbk 最后去查了jdbc驱动,发现驱动信息中没有配......