一. 删除一个商品案例
将要操作的表格
思路图
前端代码
>
Insert title here查詢商品列表
idnamecategorypnumdescription描述${product.id}${product.name}${product.price}${product.category}${product.pnum}${product.description}删除
View Code
此处删除直接使用a标签发送请求,用form表单也可以,但写起来麻烦:
后段部分代码
servlet
DeleteOneProduct
public classDeleteOneProduct extends HttpServlet {private static final long serialVersionUID = 1L;
DeleteOneService deleteOneService= newDeleteOneServiceImpl();//删除一个商品
protected voidservice(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String id= request.getParameter("id");try{
deleteOneService.deleteOneProduct(id);
response.sendRedirect("/day13/GetAllProducts");
}catch(Exception e) {
e.printStackTrace();
}
}
}
View Code
service层
DeleteOneService接口
public interfaceDeleteOneService {/**
* 删除一个商品*/
public voiddeleteOneProduct(String id) throws Exception;
}
View Code
接口实现类(DeleteOneServiceImpl)
public classDeleteOneServiceImpl implements DeleteOneService{
DeleteOneDao deleteOneDao= newDeleteOneDaoImpl();
@Overridepublic voiddeleteOneProduct(String id) throws Exception {
deleteOneDao.deleteOneProductFromDB(id);
}
}
View Code
dao层
DeleteOneDao接口
public interfaceDeleteOneDao {/**
* 从数据库删除一个商品*/
public voiddeleteOneProductFromDB(String id) throws Exception;
}
View Code
接口实现类(DeleteOneDaoImpl)
public classDeleteOneDaoImpl implements DeleteOneDao {//创建数据库连接池,并放在静态代码块中
staticQueryRunner runner;static{
ComboPooledDataSource dataSource= newComboPooledDataSource();
runner= newQueryRunner(dataSource);
}/**
* 从数据库中删除数据*/@Overridepublic voiddeleteOneProductFromDB(String id) throws SQLException {
String sql= "delete from products where id= ?";
runner.update(sql, id);
}
}
View Code
二. 删除多个商品案例
思路:删除一个商品是前端发送删除请求(携带一个商品的id),删除多个商品则是前端发送删除请求(携带多个商品的id)
前端该如何选中多个商品呢?----->多选框,此处只能使用form表单,不然不能将多个id传至后端
前端代码
>
Insert title here查詢商品列表
idnamecategorypnumdescription描述${product.name}${product.price}${product.category}${product.pnum}${product.description}删除
View Code
部分截图
后段部分
DeleteManyProduct
public class DeleteManyProducts extends HttpServlet {
private static final long serialVersionUID = 1L;
ProductsService productsService = new ProductsServiceImpl();
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//接收参数
String[] idList = request.getParameterValues("id");
for (String id : idList) {
try {
productsService.deleteManyProducts(id);
} catch (Exception e) {
e.printStackTrace();
}
}
response.sendRedirect("/day13/GetAllProducts");
}
}
View Code
其他部分类似删除第一个商品的案例
三 编辑(修改商品信息)
修改商品信息
(1)修改页面:添加一个修改商品的编辑页面
(2)点击编辑按钮,将当前的id发送到后台,后台根据此id查询商品
(3)将要修改的商品展示到点击编辑后跳转的页面上
(4)修改,将修改完的数据提交到后台,后台完成修改
(5)跳转到页面展示