设为首页 加入收藏

TOP

day05-功能实现04(一)
2023-07-25 21:38:30 】 浏览:27
Tags:day05- 能实现

家居网购项目实现04

以下皆为部分代码,详见 https://github.com/liyuelian/furniture_mall.git

10.功能09-后台管理 删除家居

10.1需求分析/图解

需求如下:

  1. 管理员进入到家居管理页面
  2. 点击删除家居连接,弹出确认窗口,确认删除,取消放弃
image-20221219164920325

10.2思路分析

10.3代码实现

10.3.1dao层

FurnDAO接口

/**
* 通过传入的id,删除furn表中对应的记录
*
* @param id id
* @return 返回受影响的行数
*/
public int deleteFurnById(int id);

FurnDAOImpl

@Override
public int deleteFurnById(int id) {
    String sql = "DELETE FROM `furn` WHERE `id`=?;";
    return update(sql, id);
}

10.3.2service层

FurnService接口

/**
 * 根据id删除对应的家居信息
 *
 * @param id id
 * @return 返回修改表的行数
 */
public int deleteFurnById(int id);

FurnServiceImpl

@Override
public int deleteFurnById(int id) {
    return furnDAO.deleteFurnById(id);
}

测试类

@Test
public void deleteFurnById() {
    if (furnService.deleteFurnById(24) != 0) {
        System.out.println("删除成功");
    } else {
        System.out.println("删除失败");
    }
}
image-20221219181225540

10.3.3web层

FurnServlet

/**
 * 处理删除家居的请求
 *
 * @param req
 * @param resp
 * @throws ServletException
 * @throws IOException
 */
protected void delete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    //获取请求删除的家居id
    String id = req.getParameter("id");

    //防止接收的id不是一个数字型的字符串
    furnService.deleteFurnById(DataUtils.parseInt(id, 0));

    //重定向到家居列表页-该地址由浏览器解析
    resp.sendRedirect(req.getContextPath() + "/manage/furnServlet?action=list");

}

10.3.4前端页面校验

furn_manage.jsp添加校验

<%--引入jquery--%>
<script type="text/java script" src="script/jquery-3.6.0.min.js"></script>
<script type="text/java script">
    $(function () {
        //获取删除id,绑定事件
        $("a.deleteFurn").click(function () {
            //获取要删除的家居的名字
            var furnName = $(this).parent().parent().find("td:eq(1)").text();
            //confirm弹出的窗口,点击确定返回true,点击取消返回false
            return confirm("确认要删除"+furnName+"吗?");
        })
    })
</script>

10.4完成测试

点击删除

image-20221219184622113

删除成功

image-20221219184635704

11.功能10-后台管理 修改家居

11.1需求分析/图解

image-20221219185628206 image-20221219185715835
  1. 管理员进入到家居管理页面furn_manage.jsp,点击修改按钮,跳转到furn_update.jsp
  2. 在furn_update.jsp先回显该家居信息
  3. 在框中填写新的信息,点击修改家居按钮
  4. 修改成功后,回到展示页面,重新刷新显示家居列表

11.2思路分析

11.3代码实现

11.3.1dao层

FurnDAO接口

/**
 * 通过传入的id,返回furn表中对应的furn对象
 * @param id id
 * @return 返回furn表中对应的furn对象
 */
public Furn queryFurnById(int id);

/**
 * 通过传入的furn对象,修改furn表对应的记录的字段值
 * @param furn 传入的furn对象
 * @return 返回受影响的行数
 */
public int updateFurn(Furn furn);

FurnDAOImpl

@Override
public Furn queryFurnById(int id) {
    String sql = "SELECT `id` , `name` , `maker` , `price` , `sales` , `stock` , `img_path` AS imgPath " +
            "FROM `furn` WHERE id=?";
    return querySingle(sql, Furn.class, id);
}

@Override
public int updateFurn(Furn furn) {
    String sql = "UPDATE `furn` " +
            "SET `name`=?, `maker`=?,`price`=?,`sales`=?,`stock`=?,`img_path`=? " +
            "WHERE `id`=?";
    return update(sql, furn.getName(), furn.getMaker(), furn.getPrice(),
            furn.getSales(), furn.getStock(), furn.getImgPath(), furn.getId());
}

FurnDAOImplTest

@Test
public void queryFurnById() {
    Furn furn = furnDAO.queryFurnById(1);
    System.out.println(furn);
}

@Test
public void updateFurn() {
    Furn furn = new Furn(39,"king","皇家家居",new BigDecimal(999),
            88,99,"assets/images/product-image/default.jpg");
    int i = furnDAO.updateFurn(f
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Java基础入门-数组练习 下一篇新项目决定用 JDK 17了

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目