Mybatis 框架篇章六

举报
兰舟千帆 发表于 2022/07/21 18:07:14 2022/07/21
【摘要】 多条件查询 散装参数用注解的方式(@param(“参数名称”))使用 @Param(“参数名称”) 标记每一个参数,在映射配置文件中就需要使用 #{参数名称} 进行占位在接口类中定义这样的方法==要求参数的名称和对应sql语句中参数的占位符名称一样==List<Brand> selectByCondition(@Param("status") int status, @Param("com...

多条件查询

散装参数用注解的方式(@param(“参数名称”))

使用 @Param(“参数名称”) 标记每一个参数,在映射配置文件中就需要使用 #{参数名称} 进行占位

在接口类中定义这样的方法
==要求参数的名称和对应sql语句中参数的占位符名称一样==

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

然后映射文件这样

<!--    条件查询-->
    <select id="selectByCondition" resultMap="brandResultMap">
        select *
        from tb_brand
        where status = #{status}
        and company_name like #{companyName}
        and brand_name like #{brandName};
    </select>

在测试代码中

        String companyName = "华为";
        String brandName  = "华为";
//        处理参数

        companyName = "%"+companyName+"%";
        brandName= "%"+brandName+"%";
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        //获取SqlSession
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //获取Mapper接口代理对象
        BrandMapper brandMapper =sqlSession.getMapper(BrandMapper.class);
        List<Brand> brands = brandMapper.selectByCondition(status, companyName, brandName);
        System.out.println(brands);

在这里插入图片描述

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。