删除分类(一对多的删除)

1)步骤分析

  1. 在list.jsp上编写,添加删除连接:/store/adminCategory/delete/cid=?
  2. 在delete方法中
    1. 获取cid
    2. 调用Service执行删除delete
    3. 页面重定向到findAll
  3. service中delete(分类和商品表是一对多的关系)
    1. 添加事务
    2. 通过cid先更新所有的商品分类信息
    3. 调用dao删除分类
    4. 事务控制
    5. 清空缓存

2)代码实现

① 在jsp上给删除添加点击事件

 <a href="javascript:void(0);" onclick="deleteC('${c.cid}');"><img src="${pageContext.request.contextPath}/images/i_del.gif" width="16" height="16" border="0" style="CURSOR: hand"></a>

js:

 <script type="text/javascript">function deleteC(cid){if(confirm("您确定要删除此分类吗?")){location.href="${pageContext.request.contextPath}/adminCategory/delete?cid="+cid;}}</script>

② 在AdminCategoryServlet中处理delete

 private void delete(HttpServletRequest request, HttpServletResponse response) throws Exception{//1、获取cidString cid=request.getParameter("cid");//2、调用service完成删除categoryService.delete(cid);//3、重定向response.sendRedirect(request.getContextPath()+"/adminCategory/findAll");}

③ 完成service层

 @Overridepublic void delete(String cid) throws Exception{try {//1、开启事务DBUtil.startTransaction();//2、更新商品productDao.updateCid(cid);//3、删除分类categoryDao.delete(cid);//4、事务控制DBUtil.commitAndClose();//5、清空缓存//2.1 创建缓存管理器CacheManager cm=CacheManager.create(CategoryServiceImpl.class.getClassLoader().getResourceAsStream("ehcache.xml"));//2.2 获取指定的缓存Cache cache=cm.getCache("categoryCache");//2.3 清空缓存cache.remove("clist");} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();DBUtil.rollbackAndClose();throw new MyException();}}

④ 完成dao层

ProductDaoImpl:

 @Overridepublic void updateCid(String cid) throws Exception {QueryRunner qr1=new QueryRunner();String sql="update  product set cid=null where cid=?";qr1.update(DBUtil.getConnection(),sql,cid);}

CategoryDaoImpl:

 @Overridepublic void delete(String cid) throws Exception {QueryRunner qr1=new QueryRunner();String sql="delete from category where cid=?";qr.update(DBUtil.getConnection(),sql,cid);}

测试即可

25_删除分类(一对多的删除)相关推荐

  1. 微擎删除分类无法删除解决-select in效率低解决办法

    今天朋友微擎后台微网站里的分类要删除,可是怎么删除也不能删除,同样的系统另一套却可以迅速删除. 后来查询到是查询语句的问题,朋友的平台用户量太大,数据太大,用了以下语句,造成效率太低: SELECT ...

  2. php修改新闻分类代码,完整的新闻无限级分类代码,可添加,删除,移动,修改

    //连接数据库教程 $link = mysql教程_connect('localhost','root','密码') or die(mysql_error()); mysql_select_db('s ...

  3. 管理后台--4,删除分类

    在CategoryList.vue组件中添加删除按钮: 如果确认删除,则连接接口,请求删除数据: Server中的接口根据该id查找并删除:

  4. php删除两端,php删除字符串末尾子字符,删除开始字符,删除两端字符的示例代码...

    php删除字符串末尾子字符,删除开始字符,删除两端字符的示例代码 发布于 2014-11-14 08:38:09 | 69 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文 ...

  5. 服务器删除网站文章,如何一次性删除wordpress所有文章

    如何删除 wordpress 所有文章呢?这里提供两种办法. 1.MySQL 命令行 以万网虚拟主机为例:登录主机后台后,切换到数据库管理,然后选择你数据库后面的管理 输入密码,进入 phpMyAdm ...

  6. linux常用删除空文件夹,Linux基础 linux系统中的批量删除文件与空文件删除的命令介绍...

    Linux基础教程linux系统中的批量删除文件与空文件删除的命令介绍 Linux资料下面删除文件或者目录命令rm(remove): Linux培训功能说明:删除文件或目录. 语 法:rm [-dfi ...

  7. 咋样回复计算机桌面删除的东西,电脑桌面上的便签怎么删除及桌面便签删除后还能恢复吗...

    原标题:电脑桌面上的便签怎么删除及桌面便签删除后还能恢复吗 经常在电脑前进行办公的话,免不了要在电脑上记录一些待办事项.那么,这些待办事项记在哪里好呢?看到这里,可能不少人都会推荐桌面便签软件.因为便 ...

  8. outlook怎么删除服务器备份文件,如何彻底删除outlook的一切数据,包括账户信息和邮件...

    如何彻底删除outlook的一切数据,包括账户信息和邮件以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 如何彻底删除ou ...

  9. java 级联删除_JavaEE中的级联删除讲解级源码

    我们在做项目开发的时候,一定会遇到多个表之间相关联的情况,在这种情况下,我们如果想要删除其中的某个表中的数据,就要连同其他表中与之对应的数据删除.例如:我们设计一个客户表,一个订单表,一个订单明细表. ...

  10. linux 下删除批量文件命令,linux 批量删除文件与空文件删除命令linux操作系统 -电脑资料...

    在linux中删除文件与删除目录及删除空文章都是使用rm 命令了,执行rm指令可删除文件或目录,如欲删除目录必须加上参数\"-r\",否则预设仅会删除文件,下面我来介绍在linux ...

最新文章

  1. java遍历栈_Java中使用StackWalker和Stream API进行堆栈遍历
  2. 12.04 深圳站 | Serverless Developer Meetup 开放报名啦
  3. 网站刷关键词_中小企业网站排名如何做SEO优化 - 刷百度关键词排名
  4. osgEarth使用没有DX的Triton库Triton-MT-DLL-NODX.lib
  5. 【数据湖加速篇】 —— 数据湖结构化数据优化与查询加速方案
  6. 32岁妈妈适合转行做软件测试吗,32+大龄妈妈,AMH偏低,可丽蓝助力好孕一次就中...
  7. Java虚拟机(十三)——垃圾回收概述
  8. 数据结构与算法(C#实现)系列---树
  9. [BZOJ1934][Shoi2007]Vote 善意的投票[最小割]
  10. 纯前端html导出pdf(jsPDF.js)-分页-不分页
  11. Python url的编码转换
  12. Android 三类框架的理解以及MVVM框架的使用
  13. DO Global亮相DMEXCO 2018,发布全新智能DSP
  14. python利用公式计算_python利用公式计算π的方法
  15. 新版标准日本语高级_第9课
  16. Micropython加速物联网开发8 - 2G网络TCP通信
  17. 面试算法 香槟塔 ,算法:暴力算法
  18. JavaCC中扩展的正规表达式
  19. 三星S7edge从8.0降到6.0.1,只为流畅的飞一般的感觉_我是亲民_新浪博客
  20. 调查计算机对运算能力的影响,计算器对运算能力的影响

热门文章

  1. android studio for android learning (二十六 )自定义控件理解与浅析(1)
  2. java基础学习(8)4种引用类型简析StrongReference、 SoftReference、 WeakReference 、PhantomReference
  3. 莫比乌斯反演汇总【算法+题目】
  4. Pronunciation Difference between /ʌ/ and /ɑ/
  5. 详细介绍各种常见的分布
  6. Httpx:针对HTTP的安全研究工具
  7. Fuzzing技术分析
  8. 美图欣赏,转载[原文链接http://toutiao.com/a4001258776/]
  9. HTML5(FileRdeader)
  10. vue-awesome-swiper使用自动轮播和循环轮播不生效(loop和autoplay)