20220629_MyBatis_数据库增删改查练习(四)

本文介绍了使用MyBatis进行数据库增删改查的实践,详细讲解了映射语句的生成及代码执行过程,通过实例展示了如何在Java中操作数据库。

文章目录


按照id删除单个记录
接口建方法

void deleteById(int id);

生成映射语句

    <delete id="deleteById">
        delete from mybatis.brand
            where id = #{id}
    </delete>

执行代码

    @Test
    public void testDelById() throws IOException {
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

        SqlSession sqs = sqlSessionFactory.openSession();

        BrandMapper mapper = sqs.getMapper(BrandMapper.class);

        int id = 6;

        mapper.deleteById(id);
        sqs.commit();

        sqs.close();

    }

请添加图片描述
请添加图片描述

文章目录


批量删除,不确定删除几个
添加方法,参数传递有两种写法,对应映射的写法

    void delByIds(int[] ids);
//    void delByIds(@Param("ids")int[] ids);

映射

    <delete id="delByIds">
        delete from mybatis.brand
        where id in
        <!--mybatis收到复数id的数组int[],会封装成一个Map集合,键名默认叫array,所以foreach里写array
        而不是ids,如果想写ids,在方法的参数那里用@Param("ids")注解-->
        <foreach collection="array" item="id" separator="," open="(" close=")">
            #{id}
        </foreach>
    </delete>

执行代码

   @Test
    public void testDelByIds() throws IOException {
        String resource = "mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

        SqlSession sqs = sqlSessionFactory.openSession();

        BrandMapper mapper = sqs.getMapper(BrandMapper.class);

        int[] ids = {2,3};

        mapper.delByIds(ids);
        sqs.commit();

        sqs.close();

    }

结果
请添加图片描述
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值