1.单个删除

步骤:

(1).编写接口方法Mapper接口  void deleteById(int id);

         参数:一个
        返回值结果为:void
(2).编写sql语句:sql映射文件
(3).执行方法,测试

(4).结果

(1).编写接口方法Mapper接口  void deleteById(int id);

//7.根据id来删除数据(删除一个)
    void deleteById(int id);

 (2).编写sql语句:sql映射文件

 <!--7根据id来删除对应的数据(删除一个)-->
    <delete id="deleteById">
        delete from  tb_brand where id = #{id};
    </delete>

(3).执行方法,测试

 /**
     * 7.根据id来修改对应的数据(删除一个)
     * @throws IOException
     */
    @Test
    public void deleteById()throws IOException {

//1.加载mybatis的核心配置文件,获取SQL session factory
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);//把字符串传进来,转换成一个字节输入流
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//2.获取SQL session的对象用它来执行sql  >>>  并且自动提交事务
        //SqlSession SqlSession = sqlSessionFactory.openSession();
        SqlSession SqlSession = sqlSessionFactory.openSession(true);//自动提交事务
//3.获取BrandMapper接口的代理对象
        BrandMapper brandMapper = SqlSession.getMapper(BrandMapper.class);
//4.执行方法
        //定义一个局部变量用来接受参数
        Integer id = 13;
        brandMapper.deleteById(id);
//5.释放资源
        SqlSession.close();
    }

 2.批量删除

步骤:

(1).编写接口方法Mapper接口 void deleteByIds( @Param("ids")int [] ids);

         参数: 数组
        返回值结果为:void
(2).编写sql语句:sql映射文件
(3).执行方法,测试

(4).结果

(1).编写接口方法Mapper接口

//7.1 根据id数组来删除对应的数据(批量删除)
    void deleteByIds( @Param("ids")int [] ids);

 (2).编写sql语句:sql映射文件

7.1 根据ids数组除对应的数据(批量删除)
collection="ids" 指的是你要遍历的数组或者集合
   
( mybatis会将数组擦部署封装成一个Map集合
*默认:array = 数组  所以 collection="array"
*若不想写array,则将 @Param("ids")添加进接口方法内,即void deleteByIds( @Param("ids")int [] ids);所以就可以写成collection="ids"了)

item="id"        指的是遍历出来的每一个元素
separator=","    指的是分隔符的意思
相当于  id=#{id}
  <delete id="deleteByIds">
        delete from  tb_brand where id in
        <foreach collection="ids" item="id" separator="," open="(" close=")">#{id}</foreach>
        ;
    </delete>

(3).执行方法,测试

 /**
     * 7.1根据id数组来修改对应的数据(批量删除)
     * @throws IOException
     */
    @Test
    public void deleteByIds()throws IOException {

//1.加载mybatis的核心配置文件,获取SQL session factory
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);//把字符串传进来,转换成一个字节输入流
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//2.获取SQL session的对象用它来执行sql  >>>  并且自动提交事务
        //SqlSession SqlSession = sqlSessionFactory.openSession();
        SqlSession SqlSession = sqlSessionFactory.openSession(true);//自动提交事务
//3.获取BrandMapper接口的代理对象
        BrandMapper brandMapper = SqlSession.getMapper(BrandMapper.class);
//4.执行方法
        //定义一个局部变量用来接受参数
        int [] arr = {3,4,5};
        brandMapper.deleteByIds(arr);
//5.释放资源
        SqlSession.close();
    }

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐