-
编写接口方法: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