10.删除操作
分类: ssm vue 专栏: 2天速成ssm+vue后台管理系统 标签: 删除
2024-12-12 09:28:07 333浏览
事务删除操作
删除 app 的同时把 logo 图删掉 把版本删掉 版本安装包也删掉
用到事务,要么全部成功要么全部失败
后端
核心代码
@Transactional(rollbackFor = Exception.class)
public void del(Long appid) {
//删除 app 的同时把 logo 图删掉 把版本删掉 版本安装包也删掉
//用到事务,要么全部成功要么全部失败
AppInfo appInfo = appInfoMapper.selectByPrimaryKey(appid);
List<AppVersion> appVersions = versionMapper.selectBy(appid);
for (AppVersion appVersion : appVersions) {
if (appVersion.getApkfilename()!=null) {
File apk = new File("D:/upload/apk/"+appVersion.getApkfilename());
if(apk.exists()){
apk.delete();
}
}
versionMapper.deleteByPrimaryKey(appVersion.getId());
}
//删基本信息的logo
if (appInfo.getLogopicpath()!=null) {
File logo = new File("D:/upload/logo/"+appInfo.getLogopicpath());
if(logo.exists()){
logo.delete();
}
}
//删除app基本信息
appInfoMapper.deleteByPrimaryKey(appid);
}注意, @Transactional 要生效的话,要在 spring 配置文件中加事务管理器和事务注解驱动
<!--事务-->
<bean class="org.springframework.jdbc.datasource.DataSourceTransactionManager" id="transactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<tx:annotation-driven/>前端
toDel(appid){
this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
delApp(appid).then(res => {
console.log(res);
if (res.code == 2000) {
this.$message.success(res.mess)
//刷新下当前页面
this.getPage()
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
好博客就要一起分享哦!分享海报
此处可发布评论
评论(0)展开评论
暂无评论,快来写一下吧
展开评论
您可能感兴趣的博客
他的专栏
他感兴趣的技术

新业务
springboot学习
ssm框架课
vue学习
【带小白】java基础速成