Day 81

该博客介绍了如何使用MyBatis通过ID进行单条数据删除,以及批量删除数据的方法。在mapper接口和XML映射文件中定义相应操作,并在测试类中实现执行。此外,还展示了注解方式实现简单的查询操作,直接在mapper接口上添加@Select注解并执行查询。内容涵盖了MyBatis的基本CRUD操作。
摘要由CSDN通过智能技术生成

_Mybatis根据id删除数据

  1. 在mapper接口中定义方法:在这里插入图片描述

  2. 在对应的xml映射文件中编写sql语句:在这里插入图片描述

  3. 在test文件中编写java代码实现sql语句对数据库的数据删除功能:

    •     // 修改数据库中的数据
          public void update() {
              int status = 0;
              String brand_name = "智能老人机";
              String address = "北京";
              int ordered = 100;
              int id = 5;
      
              // 封装参数
              Brand brand = new Brand();
              brand.setId(id);
              brand.setStates(status);
              brand.setName(brand_name);
              brand.setAddress(address);
              brand.setOrdered(ordered);
      
              InputStream is = null;
              try {
                  is = Resources.getResourceAsStream("mybatis-config.xml");
                  SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
                  SqlSessionFactory sf = sqlSessionFactoryBuilder.build(is);
                  SqlSession sqlSession = sf.openSession(true);
      
                  // 获取mapper接口
                  BrandMapper mapper = sqlSession.getMapper(BrandMapper.class);
                  int result = mapper.update(brand);
      
                  // 控制台返回执行结果
                  System.out.println("结果为:"+result);
      
                  // 释放资源
                  sqlSession.close();
      
              } catch (IOException e) {
                  e.printStackTrace();
              }finally {
                  try {
                      is.close();
                  } catch (IOException e) {
                      e.printStackTrace();
                  }
              }
          }
      
    • 在这里插入图片描述

_根据id批量删除数据

  1. 在mapper接口文件中创建批量删除的方法接口:在这里插入图片描述

  2. 在xml文件中编写sql实现批量删除:在这里插入图片描述

  3. 在test文件中编写java程序实现数据库数据的批量删除:

    •     // 批量删除数据库中的数据
          public void deleteDates() {
              int[] id = {4,6};
      
              InputStream is = null;
              try {
                  is = Resources.getResourceAsStream("mybatis-config.xml");
                  SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
                  SqlSessionFactory sf = sqlSessionFactoryBuilder.build(is);
                  SqlSession sqlSession = sf.openSession(true);
      
                  // 获取mapper接口
                  BrandMapper mapper = sqlSession.getMapper(BrandMapper.class);
      
                  int result = mapper.deleteByIds(id);
      
                  // 控制台返回执行结果
                  System.out.println("受影响的行数为:"+result);
      
                  // 释放资源
                  sqlSession.close();
      
              } catch (IOException e) {
                  e.printStackTrace();
              }finally {
                  try {
                      is.close();
                  } catch (IOException e) {
                      e.printStackTrace();
                  }
              }
      
          }
      ===============================================
      受影响的行数为:2
      
      Process finished with exit code 0
      
      
    • 在这里插入图片描述

_注解完成增删改查

  1. 注意:注解开发只适用于简单的增删改查语句,复杂的查询语句还是需要使用配置文件的方式完成(比如动态查序就需要配置文件的方式实现)

  2. 格式:(例如查询语句)

    • @Select("select * from tb_brand where id = #{id}")
      public Brand selectById(int id);
      
  3. 直接在mapper接口文件中在查询的方法上方加上@注释,后接sql语句并用’’ ‘’ 包起来在这里插入图片描述

  4. 在test文件中编写java程序实现sql语句查询:

    •     // 注解查询tb_brand表中的所有数据
          public void selectAllPar() {
              InputStream is = null;
              try {
                  is = Resources.getResourceAsStream("mybatis-config.xml");
                  SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
                  SqlSessionFactory sf = sqlSessionFactoryBuilder.build(is);
                  SqlSession sqlSession = sf.openSession(true);
      
                  // 获取mapper接口
                  BrandMapper mapper = sqlSession.getMapper(BrandMapper.class);
      
                  List<Brand> result = mapper.selectAll();
      
                  // 控制台返回执行结果
                  System.out.println("查询结果为:"+result);
      
                  // 释放资源
                  sqlSession.close();
      
              } catch (IOException e) {
                  e.printStackTrace();
              }finally {
                  try {
                      is.close();
                  } catch (IOException e) {
                      e.printStackTrace();
                  }
              }
      
          }
      ==============================================
      查询结果为:[Brand{id=1, brand_name='华为', ordered=50, address='广州', states=0}, Brand{id=2, brand_name='小米', ordered=30, address='北京', states=1}, Brand{id=3, brand_name='字节跳动', ordered=20, address='北京', states=0}]
      
      Process finished with exit code 0
      
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值