Mybatis 框架篇章七

举报
兰舟千帆 发表于 2022/07/21 18:08:16 2022/07/21
【摘要】 实体类封装参数将多个参数封装成一个 实体对象 ,将该实体对象作为接口的方法参数。==该方式要求在映射配置文件的SQL中使用 #{内容} 时,里面的内容必须和实体类属性名保持一致。==先写这个方法List<Brand> selectByCondition(Brand brand)然后映射文件中的sql语句这里 的sql语句不用变 <select id="selectByCondition" ...

实体类封装参数

将多个参数封装成一个 实体对象 ,将该实体对象作为接口的方法参数。
==该方式要求在映射配置文件的SQL中使用 #{内
容} 时,里面的内容必须和实体类属性名保持一致。==

先写这个方法

List<Brand> selectByCondition(Brand brand)

然后映射文件中的sql语句
这里 的sql语句不用变

 <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+"%";
        //将参数封装对象
        Brand brand = new Brand();
        brand.setStatus(status);
        brand.setCompanyName(companyName);
        brand.setBrandName(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(brand);//传入brand对象
        System.out.println(brands);

很明显我们这种方式采用的是对象也就是实体类封装的方式
在这里插入图片描述

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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