黑马JavaWeb删除操作练习

本文记录了一次使用JavaWeb实现删除操作的实践过程,涉及DAO、Service和Web三层架构。通过BrandMapper接口的@Delete注解完成数据库删除,BrandService调用该方法并处理事务,Web层接收请求并转发到删除成功页面。文章还展示了具体的代码实现,并附带了删除操作的界面截图。虽然存在改进空间,但对于初学者是一次有价值的实践。
摘要由CSDN通过智能技术生成

黑马JavaWeb删除操作练习

瞎猫碰死耗子勉强实现了删除操作,在此记录一下

DAO : Data Access Object(数据访问对象)
使用注解 @Select、@Delete、@Update、@Insert进行数据访问、删除、修改和增加的操作。这里进行了删除的操作

Service:服务层,调用DAO层中的方法。这里调用了void delete方法

Web层:展示和控制。这里接收id,调用service删除和显示删除成功

前两个对应的应该是MVC中的Module ,后面的Web层对丁的是View 和 Control

简单的示意图
在这里插入图片描述

具体实现:

BrandMapper里面添加新的删除方法:

 @Delete("delete from tb_brand where id = #{id}")
 void deleteById(int id);

BrandService里面添加新的删除方法:

public void deleteById(int id){

        //2. 获取SqlSession
        SqlSession sqlSession = factory.openSession();
        //3. 获取BrandMapper
        BrandMapper mapper = sqlSession.getMapper(BrandMapper.class);

        //4. 调用方法
        mapper.deleteById(id);
        
        //提交事务
        sqlSession.commit();
        //释放资源
        sqlSession.close();

    }

新增delete.jsp界面,删除后显示删除成功

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>删除成功</title>
</head>
<body>

<h1>删除成功</h1>


</body>
</html>

修改brand.jsp里面对应删除的超链接为/brand-demo/deleteByIdServlet?id=${brand.id}
在这里插入图片描述
在这里插入图片描述
新增SelectByIdServlet:

package com.itheima.web;

import com.itheima.service.BrandService;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/deleteByIdServlet")
public class DeleteByIdServlet extends HttpServlet {
    private  BrandService service = new BrandService();

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //1. 接收id
        String id = request.getParameter("id");
        //2. 调用service删除
        service.deleteById(Integer.parseInt(id));
        //3. 转发到delete.jsp
        request.getRequestDispatcher("/delete.jsp").forward(request,response);


    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.doGet(request, response);
    }
}

启动服务器后的界面如下:

在这里插入图片描述
点击删除鸿星尔克2
在这里插入图片描述
回到selectAllServlet的界面,删除成功
在这里插入图片描述
大功告成,还有很多改进的地方,但能力有限,暂时就不修改了。

有不足之处,望大佬指出,万分感谢。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值