Java MyBatis根据id来删除数据库数据(单个删除&批量删除)

 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();
    }

 

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

很丧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值