基于SSM批量删除

简单的删除功能很容易实现,但是在实际开发中批量删除是很常见的一个功能,最近做项目刚好使用过这个功能。所以记录下来。
其实批量删除和删除没有很大的区别,只是修改一下sql语句,然后参数传进来的是一个数组的形式,然后在sql语句中循环这个数组,执行sql语句。直接上代码。
DAO层代码

    /**批量删除简历*/
    void deleteMany(String[] resumeID);

sevice接口

    /**批量删除*/
    void deleteMany(String resumeID[]);

service层实现类代码

    /**批量删除*/
    public void deleteMany(String[] resumeID){
         resumeDao.deleteMany(resumeID);
    }

controller层

     /**
     * 功能描述: 批量删除
     * @auther: yxc
     * @return: DataResult
     * @date: 2019/12/20
     */
    @ApiOperation(value = "批量删除简历")
    @ApiImplicitParam(value = "批量删除",name="resumeID",dataType = "String",paramType = "query",allowMultiple =true )
    @ResponseBody
    @RequestMapping(value = "deleteMany",method = RequestMethod.GET)
    public DataResult deleteMany(String[] resumeID){
        DataResult result=new DataResult();
        resumeService.deleteMany(resumeID);
        result.setStatus(0);
        result.setMsg("删除成功");
        return result;
    }

关于API注解,是基于swagger的一个使用工具,参考博文swagger的简单注解使用

最后就是配置sql语句了

    <delete id="deleteMany" parameterType="String">
        delete from hire_resume where resume_id in
        <foreach item="resumeID" collection="array" open="(" separator="," close=")">
            #{resumeID}
        </foreach>
    </delete>

学过数据库的应该都可以很快理解这段sql语句吧!循环遍历数组,将数组的元素放在一个in里面,这样就会删除in后面的所有数据 open和close表示开头和结尾:如
delete from hire_resume where resume_id in (1001,1002,1003)
其实批量删除相对而言还是挺简单的一个应用

发布了33 篇原创文章 · 获赞 37 · 访问量 4382

猜你喜欢

转载自blog.csdn.net/weixin_42142899/article/details/103652436