【JavaEE进阶】 图书管理系统开发日记——伍

简介: 【JavaEE进阶】 图书管理系统开发日记——伍


🎋前言

这次我们来实现图书管理系统的增加图书模块。

🌲需求分析

我们先来看一下需要达到的效果。

  1. 点击添加图书按钮,跳转以下界面
  2. 添加图书时,若有图书信息没有填写,则会返回错误信息
  3. 成功添加图书后跳转至图书列表页,并显示添加图书信息

🎄约定前后端交互接口

根据以上需求,我们可以约定以下接口

[请求]

/book/addBook

Content-Type: application/x-www-form-urlencoded;charset=UTF-8

[参数]

bookName=图书1&author=作者1&count=23&price=36&publish=出版社1&status=1

[响应]

“” //失败信息, 成功时返回空字符串

我们约定,浏览器给服务器发送⼀个 /book/addBook 这样的HTTP请求,form表单的形式来提交数据服务器返回处理结果,返回""表⽰添加图书成功,否则,返回失败信息.

🌳实现服务器代码

服务器代码依旧采用分层设计的思想

🚩控制层

该层我们使用对象来接受from表单传回来的值。

并对传回来的值判断其合法性,若不合法返回"输⼊参数不合法, 请检查⼊参!"即可

合法则交给业务层进行处理,并进行异常处理。

代码实现如下:

@RequestMapping("/addBook")
public String addBook(BookInfo bookInfo) {
    log.info("添加图书:{}", bookInfo);
    if (!StringUtils.hasLength(bookInfo.getBookName())
            || !StringUtils.hasLength(bookInfo.getAuthor())
            || bookInfo.getCount()==null
            || bookInfo.getPrice()==null
            || !StringUtils.hasLength(bookInfo.getPublish())
            || bookInfo.getStatus() ==null
    ) {
        return "输⼊参数不合法, 请检查⼊参!";
    }
    try {
        bookService.addBook(bookInfo);
        return "";
    } catch (Exception e) {
        log.error("添加图书失败", e);
        return e.getMessage();
    }
}

🚩业务层

因为因为层代码较简单,直接调用数据层代码发回即可

代码实现如下:

public void addBook(BookInfo bookInfo) {   
    bookInfoMapper.insertBook(bookInfo);
}

🚩数据层

使用注解实现对数据库的操作即可

实现带代码如下:

@Insert("insert into book_info (book_name,author,count,price,publish,status) " +
        "values (#{bookName},#{author},#{count},#{price},#{publish},#{status})")
Integer insertBook(BookInfo bookInfo);

🍃修改前端代码

关于前端代码,我们只需要修改添加页代码即可。

代码修改部分如下:

function add() {
    $.ajax({
        type: "post",
        url: "/book/addBook",
        data: $("#addBook").serialize(),
        success: function (result) {
            if (result == "") {
                location.href = "book_list.html"
            } else {
                console.log(result);
                alert("添加失败:" + result);
            }
        },
        error: function (error) {
            console.log(error);
        }
    });
}

⭕总结

关于《【JavaEE进阶】 图书管理系统开发日记——伍》就讲解到这儿,感谢大家的支持,欢迎各位留言交流以及批评指正,如果文章对您有帮助或者觉得作者写的还不错可以点一下关注,点赞,收藏支持一下!

相关文章
|
存储 Java
【JavaSE】基础笔记 - 图书管理系统(保姆教程,含源码)
【JavaSE】基础笔记 - 图书管理系统(保姆教程,含源码)
284 1
|
安全 前端开发 Java
0013Java程序设计-springboot教材图文内容审核系统
0013Java程序设计-springboot教材图文内容审核系统
85 0
|
5月前
|
存储 前端开发 Java
【JavaEE进阶】 图书管理系统开发日记——柒
【JavaEE进阶】 图书管理系统开发日记——柒
|
2月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
405 37
|
5月前
|
前端开发 Java 程序员
【JavaEE进阶】图书管理系统开发日记——捌
【JavaEE进阶】图书管理系统开发日记——捌
|
Java 关系型数据库 MySQL
java入门项目:学生管理系统(进阶版超详细搭建)
学生管理系统是一个典型的信息管理系统,熟悉并掌握其需求和设计思想对于理解和学习数据库操作和Java编程有非常大的帮助。 分为学生端和教师端 1. 学生端的功能分为登录、注册、查看个人信息、查看成绩、申请修改信息 2. 教师端的功能分为登录、注册、查看学生信息、修改学生信息、删除学生信息、添加学生信息、查看学生申请的修改信息
7782 2
|
6月前
|
Java 关系型数据库 MySQL
【JavaEE进阶】 图书管理系统开发日记——贰
【JavaEE进阶】 图书管理系统开发日记——贰
|
6月前
|
XML 前端开发 Java
【JavaEE进阶】 图书管理系统开发日记——陆
【JavaEE进阶】 图书管理系统开发日记——陆
|
6月前
|
存储 前端开发 Java
【JavaEE进阶】 图书管理系统开发日记——叁
【JavaEE进阶】 图书管理系统开发日记——叁
|
6月前
|
存储 前端开发 Java
【JavaEE进阶】 图书管理系统开发日记——壹
【JavaEE进阶】 图书管理系统开发日记——壹

相关实验场景

更多