使用mybatis进行批量添加与批量删除

2023-09-12

 StoreHouseMapper

复制代码
 /**
     * 批量添加
     */
    void insertMoreSH(@Param("storeHouses") List<StoreHouse> storeHouses);

    /**
     * 批量删除方式一
     */
    void deleteMoreSH(@Param("ids")Integer[] ids);

    /**
     * 批量删除方式二
     */
    void deleteMoreSHTwo(@Param("ids")Integer[] ids);
复制代码

StoreHouseMapper.xml

复制代码
    <insert id="insertMoreSH">
        insert into t_storehouse(id,s_name,s_type,s_description) values
        <foreach collection="storeHouses" item="storeHouse" separator=",">
            (null,#{storeHouse.sName},#{storeHouse.sType},#{storeHouse.sDescription})
        </foreach>
    </insert>

    <delete id="deleteMoreSH">
        delete
        from t_storehouse
        where id in (
            <foreach collection="ids" item="id" separator=",">
                #{id}
            </foreach>
            )
    </delete>

<!--    批量删除方式二-->
    <delete id="deleteMoreSHTwo">
        delete
        from t_storehouse
        where
        <foreach collection="ids" item="id" separator="or">
            id =  #{id}
        </foreach>

    </delete>
复制代码

测试

复制代码
@Test
    public void testInsertSH(){
        SqlSession sqlSession = SqlSessionUtils.getSqlSession();
        StoreHouseMapper mapper = sqlSession.getMapper(StoreHouseMapper.class);
        StoreHouse storeHouse1 = new StoreHouse(null,"山西仓库","自用仓库","存放醋");
        StoreHouse storeHouse2 = new StoreHouse(null,"云南仓库","自用仓库","存放米线");
        StoreHouse storeHouse3 = new StoreHouse(null,"陕西仓库","自用仓库","存放玉米");
        List<StoreHouse> list = Arrays.asList(storeHouse1, storeHouse2, storeHouse3);
        mapper.insertMoreSH(list);

        sqlSession.close();
    }

    @Test
    public void testDeleteSH(){
        SqlSession sqlSession = SqlSessionUtils.getSqlSession();
        StoreHouseMapper mapper = sqlSession.getMapper(StoreHouseMapper.class);
        Integer[] ids = new Integer[]{5,6};
        mapper.deleteMoreSH(ids);

        sqlSession.close();
    }

    @Test
    public void testDeleteSHTwo(){
        SqlSession sqlSession = SqlSessionUtils.getSqlSession();
        StoreHouseMapper mapper = sqlSession.getMapper(StoreHouseMapper.class);
        Integer[] ids = new Integer[]{8,9};
        mapper.deleteMoreSHTwo(ids);

        sqlSession.close();
    }
复制代码

 

posted @   努力是一种常态  阅读(65)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示