基于jsp+Spring boot+mybatis的图书管理系统设计和实现
🍅 作者主頁:Java李楊勇?
🍅 簡介:Java領域優質創作者🏆、【java李楊勇】公號作者? ?簡歷模板、學習資料、面試題庫【關注我,都給你】
🍅文末獲取源碼聯系🍅
?前言
? ? ? ? ?隨著網絡技術的發展、計算機應用水平廣泛提高,原來系統的時效性、數據的正確性、操作的方便性上都存在不足,已影響到系統的正常使用。經過考察比較,決定自己對圖書管理系統重新設計,使系統能利用軟件開發技術的成果,方便圖書的管理。圖書管理系統是典型的信息管理系統。系統介紹了圖書系統的開發過程,設計中遇到的問題及解決方法以及提高當前應用程序或系統開發進度和改善工作性能。利用其提供的各種面向對象的開發工具首先在短時間內建立系統應用原型然后對初始原型系統進行需求迭代,不斷修正和改進,直到形成用戶滿意的可行系統。
? ? ? 本次課程設計利用JAVA開發工具和Mysql數據庫來開發這個圖書管理系統。該系統要解決圖書管理所要解決的問題,可以滿足圖書管理基本要求,包括添加、管理等功能。該系統能根據用戶的需求,快捷方便的為讀者提供借閱服務。
背景意義
? ? ? ? 隨著計算機的廣泛應用,其逐步成為現代化的標志。圖書館或者一些企業內部,甚至是書店,在正常運行過程中總是面對大量的讀者信息,書籍信息以及兩者相互作用產生的借書信息、還書信息。因此需要對讀者資源、書籍資源、借書信息、還書信息進行管理,及時了解各個環節中信息的變更,要對因此而產生的單據進行及時的處理,為了提高圖書館或者企業內部對圖書存銷的自動化的管理,能夠更快速的滿足讀者的要求,提高各種工作的效率,現對其設計相應的系統。圖書管理系統的主要功能是實現圖書館圖書借閱和歸還的管理的自動化。圍繞這一主要功能,本系統涉及到以下核心功能:借閱管理,歸還管理。除了這些核心功能外,還包括一些基本和輔助功能,它們是:用戶管理、圖書管理、圖書查詢。
?
?數據庫設計
用戶表
CREATE TABLE `NewTable` ( `admin_id` int(11) NOT NULL AUTO_INCREMENT , `admin_name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , `admin_pwd` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , `admin_email` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , PRIMARY KEY (`admin_id`) ) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci AUTO_INCREMENT=2 ROW_FORMAT=DYNAMIC ;圖書表
CREATE TABLE `NewTable` ( `book_id` int(11) NOT NULL AUTO_INCREMENT , `book_name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `book_author` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , `book_publish` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , `book_category` int(11) NULL DEFAULT NULL , `book_price` double NULL DEFAULT NULL , `book_introduction` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , PRIMARY KEY (`book_id`), FOREIGN KEY (`book_category`) REFERENCES `book_category` (`category_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, INDEX `book_category` (`book_category`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci AUTO_INCREMENT=72 ROW_FORMAT=DYNAMIC ;圖書類型
CREATE TABLE `NewTable` ( `category_id` int(11) NOT NULL AUTO_INCREMENT , `category_name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL , PRIMARY KEY (`category_id`) ) ENGINE=InnoDB DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci AUTO_INCREMENT=51 ROW_FORMAT=DYNAMIC ;功能截圖
登錄:
用戶選擇角色輸入賬號密碼進行登錄?
管理員首頁:
登錄后的主要模塊有
系統管理《用戶管理、角色管理、應用數據?》
圖書管理《圖書分類、圖書信息、借書管理、還書管理》
個人信息查看以及修改退出等
?
用戶管理:
點擊查看用戶的信息、可根據推薦搜索用戶信息、可以添加和修改刪除用戶信息
?
角色管理:
點擊查看角色信息、以及模糊搜索和重置信息、添加修改角色信息、根據角色分配權限信息
?添加角色:
分配權限:
?
應用管理:
圖書信息管理:
圖書分類:
圖書信息:
借書管理:
還書管理:
用戶端:
?用戶登錄后可以查看自己的借閱記錄、以及去借書和歸還書籍等操
借書管理:
還書管理:
圖書檢索:
借還記錄:
代碼實現
? ? ? ?這個項目功能比較簡單、用的技術也是大家非常熟悉的技術、主要是springboot、springmvc、mybatis以前端的jquery、layui、html和css等基本樣式。就拿登錄來舉一個完整例子吧、首先是前端靜態頁面的編寫以及發送登錄請求
<!DOCTYPE html> <html lang="zh-CN" xmlns:th="http://www.thymeleaf.org"> <head><meta charset="UTF-8"><title>Title</title><link rel="stylesheet" th:href="@{/layui/css/layui.css}"><style>body {/*width: 100%;*//*height: 100%;*/background: url("/images/background.png") no-repeat;/*background: url("static/images/a.png") no-repeat;*/background-size: cover;}#login_form {width: 400px;height: 300px;margin: 80px auto;padding: 30px;background-color: #f2f2f2;opacity: 0.9;}</style> </head> <body><div id="wrapper" style="margin-top: 260px"><div class="layui-container" id="login_form"><div><h1 style="color: red;text-align: center">圖書管理系統</h1><br></div><form class="layui-form" id="my_form" method="post" action="/userLogin"><div class="layui-form-item"><label class="layui-form-label">用戶名:</label><div class="layui-input-block"><input type="text" name="userName" id="username" autofocusplaceholder="請輸入用戶名" autocomplete="off" class="layui-input"></div></div><div class="layui-form-item"><label class="layui-form-label">密 碼:</label><div class="layui-input-block"><input type="password" name="password" id="password"placeholder="請輸入密碼" autocomplete="off" class="layui-input"></div></div><div class="layui-form-item"><label class="layui-form-label">用戶身份</label><div class="layui-input-block"><input class="form-check-input" type="radio" name="role" value="1" title="學生" checked><input class="form-check-input" type="radio" name="role" value="0" title="管理員"></div></div><div class="layui-form-item layui-col-md4 layui-col-md-offset4"><button id="sub_btn" class="layui-btn layui-btn-normal">登錄</button></div></form></div> </div><script th:src="@{/scripts/jquery.min.js}"></script> <script th:src="@{/layui/layui.js}"></script><script th:inline="javascript">layui.use(['layer', 'form'], function () {let layer = layui.layer;let form = layui.form;form.render();$(function () {let flag = [[${session.flag}]];if (flag) {layer.msg("用戶名或密碼錯誤", {icon: 2,time: 2000 //2秒關閉(如果不配置,默認是3秒)});}});});$("#sub_btn").click(function () {let username = $("#username").val();let user_judge = check(username);// 首先判斷用戶名是否為空if (user_judge) {let password = $("#password").val();let pwd_judge = check(password);// 用戶名不為空 , 判斷密碼是否為空if (pwd_judge) {let role_id = $('input[name="role"]:checked').val();// 如果role_id ==1 ,則是普通用戶 , 直接提交表單if (role_id == 1) {$("#my_form").submit();} else {//如果是管理員 , 則將action 進行更改$("#my_form").attr("action", "/adminLogin")$("#my_form").submit();}} else {layer.alert("密碼不能為空", {icon: 5});return false;}} else {layer.alert("用戶名不能為空", {icon: 5});return false;}});// 校驗表單中用戶名 與 密碼是否輸入, 如果有值 -> 返回 true , 如果未輸入 返回 false;function check(val) {val = val.toString().trim();return !(val == '');}</script> </body> </html>? ? 后臺Controller接收到前端的登錄請求之后執行參數校驗、將前端傳遞過來的用戶名密碼以及用戶角色進行判斷驗證、調用userService.userLogin方法執行用戶登錄驗證、查詢數據庫當前賬號密碼是否正確、返回狀態碼給前端、前端根據狀態碼進行相對的頁面跳轉以及數據效應。
/*** 用戶登錄** @param userName* @return*/@PostMapping("/userLogin")public String userLogin(@Param("userName") String userName,@Param("password") String password, HttpServletRequest request) {User user = userService.userLogin(userName, password);if (null != user) {// flag = 0 表示用戶名密碼校驗成功 【用于前端校驗】request.getSession().setAttribute("flag", 0);request.getSession().setAttribute("user", user);return "user/index";}// flag 為 1 表示 登錄失敗 【用于前端校驗】request.getSession().setAttribute("flag", 1);return "index";}總體來說這個項目功能相對還是比較簡單優秀的、適合初學者作為課程設計和畢業設計參考??
訂閱專欄下載源碼?
java項目實戰推薦:
基于java ssm springboot+VUE疫情防疫系統系統前后端分離設計和實現
基于java springboot+mybatis電影售票網站管理系統前臺+后臺設計和實現
基于java ssm springboot+mybatis酒莊內部管理系統設計和實現
基于JAVA springboot+mybatis智慧生活分享平臺設計和實現
基于Java springboot+vue+redis前后端分離家具商城平臺系統設計和實現
基于JAVA SSM springboot實現的抗疫物質信息管理系統設計和實現
基于java ssm springboot實現選課推薦交流平臺系統設計和實現
基于JAVA springboot+mybatis 電商書城平臺系統設計和實現
基于java springboot+mybatis愛游旅行平臺前臺+后臺設計實現
基于java SSM springboot景區行李寄存管理系統設計和實現
基于java springboot的圖書管理系統設計和實現
基于jsp+mysql+mybatis+Spring boot簡單學生成績信息管理系統
基于java ssm springboot女士電商平臺系統設計和實現
基于Java+jsp+servlet的養老院管理系統設計和實現
基于jsp+mysql的JSP在線水果銷售商城系統設計實現
基于JavaWeb SSM mybatis 學生信息管理系統設計和實現
基于javaweb(springboot+mybatis)網上酒類商城項目設計和實現
基于jsp+mysql+Spring的SSM在線蛋糕商城銷售網站項目設計和實現
基于java SSM的房屋租賃系統設計和實現
基于javaweb SSM郵件收發信息系統設計和實現以及文檔
基于JavaWEB SSM SpringBoot婚紗影樓攝影預約網站設計和實現
基于jsp+mysql+Spring的SpringBoot招聘網站項目設計和實現
基于java web jsp+servlet學生宿舍管理系統
基于jsp+mysql+Spring+mybatis的SSM汽車保險理賠管理系統設計和實現
?總體來說這個項目功能相對還是比較簡單優秀的、適合初學者作為課程設計和畢業設計參考?
另外需要白嫖java學習資料包括《JVM、Netty、Mysql、Mybatis、Redis、Dubbo、Nginx、設計模式》等10G java資料學習禮包、可以看我主頁或私信博主都行
打卡Java項目更新?11?/ 100天
大家可以點贊、收藏、關注、評論我啦 、
總結
以上是生活随笔為你收集整理的基于jsp+Spring boot+mybatis的图书管理系统设计和实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: flink java 并行度_flink
- 下一篇: php cachelock,巧用lock