- 首先:持久层在BrandMapper 根据id去删除相应的数据 无返回值void 继而写一个
@Delete("delete from tb_brand where id = #{id}")
void delete(int id);
- 其次:service再调用BrandMapper的delete方法
注意:也要提交事务
public void delete(int id)
{
SqlSession sqlSession = factory.openSession();
BrandMapper mapper = sqlSession.getMapper(BrandMapper.class);
mapper.delete(id);
sqlSession.commit();
sqlSession.close();
}
- web层 点击删除 要把提交到对应的deleteServlet
<td><a href="/demo_2_war_exploded/selectByIdServlet?id=${brand.id}">修改</a> <a href="/demo_2_war_exploded/deleteServlet?id=${brand.id}">删除</a></td>
- 最后 web拿到id 调用对应的service的删除方法
@WebServlet("/deleteServlet")
public class DeleteServlet extends HttpServlet {
private BrandService service = new BrandService();
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String id = req.getParameter("id");
//2. 调用service删除
service.delete(Integer.parseInt(id));
//3. 转发到delete.jsp
req.getRequestDispatcher("/delete.jsp").forward(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
this.doGet(req, resp);
}
}
前端的一个跳转页面 :
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>删除页面</title>
</head>
<body>
<h1>删除成功</h1>
<a href="/demo_2_war_exploded/selectAllServlet">查询数据</a>
</body>
</html>