【mybatis】06 -查询-条件查询

  • 条件查询:用户数据某几项信息,通过这些信息模糊查询用户需要的数据
  1. 编写条件查询的sql
    <!--
    条件查询:status使用等值链接,其他使用模糊查询,字段要用对象属性名避免麻烦。
-->
       <select id="selectByCondition" resultMap="brandResultMap">
         select *
         from tb_brand
         where status = #{status}
           and company_name like #{companyName}
           and brand_name like #{brandName}
     </select>
  1. 编写接口
  List<Brand> selectByCondition(Map map);
  1. 测试类
 @Test
    public void testSelectCondition() throws IOException {
        //条件查询
        //1.获取session工厂
        String resource = "mybatis-config";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        //2.获取session
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //3.获取mapper
        BrandMapper mapper = sqlSession.getMapper(BrandMapper.class);
        //4.执行sql
        int status = 1;
        String companyName = "华为";
        String brandName = "华为";
        //处理参数
        companyName ="%" + companyName +"%";
        brandName = "%" + brandName + "%";

        HashMap hashMap = new HashMap();
        hashMap.put("status",status);
        hashMap.put("companyName",companyName);
        hashMap.put("brandName",brandName);
        List<Brand> brands = mapper.selectByCondition(hashMap);
        System.out.println(brands);
        //5.关闭资源
        sqlSession.close();
    }
  1. 运行失败

解决数据库和idea之间的编码不一致导致无法输出或报错的问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伊可同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值