去哪里找空間做網(wǎng)站搜索引擎營銷的分類
基于jsp+Spring boot+mybatis的圖書管理系統(tǒng)設(shè)計和實現(xiàn)
博主介紹:多年java開發(fā)經(jīng)驗,專注Java開發(fā)、定制、遠(yuǎn)程、文檔編寫指導(dǎo)等,csdn特邀作者、專注于Java技術(shù)領(lǐng)域
作者主頁 央順技術(shù)團(tuán)隊
Java畢設(shè)項目精品實戰(zhàn)案例《1000套》
歡迎點(diǎn)贊 收藏 ?留言
文末獲取源碼聯(lián)系方式
文章目錄
- 基于jsp+Spring boot+mybatis的圖書管理系統(tǒng)設(shè)計和實現(xiàn)
- 前言
- 背景意義
- 數(shù)據(jù)庫設(shè)計
- 用戶表
- 圖書表
- 圖書類型
- 圖書借閱
- 功能截圖
- 登錄:
- 管理員首頁:
- 用戶管理:
- 角色管理:
- 添加角色:
- 分配權(quán)限:
- 應(yīng)用管理:
- 圖書信息管理:
- 圖書分類:
- 圖書信息:
- 借書管理:
- 還書管理:
- 用戶端:
- 借書管理:
- 還書管理:
- 圖書檢索:
- 借還記錄:
- 代碼實現(xiàn)
- 獲取源碼:
前言
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展、計算機(jī)應(yīng)用水平廣泛提高,原來系統(tǒng)的時效性、數(shù)據(jù)的正確性、操作的方便性上都存在不足,已影響到系統(tǒng)的正常使用。經(jīng)過考察比較,決定自己對圖書管理系統(tǒng)重新設(shè)計,使系統(tǒng)能利用軟件開發(fā)技術(shù)的成果,方便圖書的管理。圖書管理系統(tǒng)是典型的信息管理系統(tǒng)。系統(tǒng)介紹了圖書系統(tǒng)的開發(fā)過程,設(shè)計中遇到的問題及解決方法以及提高當(dāng)前應(yīng)用程序或系統(tǒng)開發(fā)進(jìn)度和改善工作性能。利用其提供的各種面向?qū)ο蟮拈_發(fā)工具首先在短時間內(nèi)建立系統(tǒng)應(yīng)用原型然后對初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成用戶滿意的可行系統(tǒng)。
本次課程設(shè)計利用JAVA開發(fā)工具和Mysql數(shù)據(jù)庫來開發(fā)這個圖書管理系統(tǒng)。該系統(tǒng)要解決圖書管理所要解決的問題,可以滿足圖書管理基本要求,包括添加、管理等功能。該系統(tǒng)能根據(jù)用戶的需求,快捷方便的為讀者提供借閱服務(wù)。
背景意義
隨著計算機(jī)的廣泛應(yīng)用,其逐步成為現(xiàn)代化的標(biāo)志。圖書館或者一些企業(yè)內(nèi)部,甚至是書店,在正常運(yùn)行過程中總是面對大量的讀者信息,書籍信息以及兩者相互作用產(chǎn)生的借書信息、還書信息。因此需要對讀者資源、書籍資源、借書信息、還書信息進(jìn)行管理,及時了解各個環(huán)節(jié)中信息的變更,要對因此而產(chǎn)生的單據(jù)進(jìn)行及時的處理,為了提高圖書館或者企業(yè)內(nèi)部對圖書存銷的自動化的管理,能夠更快速的滿足讀者的要求,提高各種工作的效率,現(xiàn)對其設(shè)計相應(yīng)的系統(tǒng)。圖書管理系統(tǒng)的主要功能是實現(xiàn)圖書館圖書借閱和歸還的管理的自動化。圍繞這一主要功能,本系統(tǒng)涉及到以下核心功能:借閱管理,歸還管理。除了這些核心功能外,還包括一些基本和輔助功能,它們是:用戶管理、圖書管理、圖書查詢。
數(shù)據(jù)庫設(shè)計
用戶表
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
;
圖書借閱
CREATE TABLE `NewTable` (
`id` int(11) NOT NULL AUTO_INCREMENT ,
`user_id` int(11) NULL DEFAULT NULL ,
`book_id` int(11) NULL DEFAULT NULL ,
`date` date NULL DEFAULT NULL ,
PRIMARY KEY (`id`),
FOREIGN KEY (`book_id`) REFERENCES `book` (`book_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
INDEX `user_id` (`user_id`) USING BTREE ,
INDEX `book_id` (`book_id`) USING BTREE
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
AUTO_INCREMENT=67
ROW_FORMAT=DYNAMIC
;
功能截圖
登錄:
用戶選擇角色輸入賬號密碼進(jìn)行登錄
管理員首頁:
登錄后的主要模塊有
系統(tǒng)管理《用戶管理、角色管理、應(yīng)用數(shù)據(jù) 》
圖書管理《圖書分類、圖書信息、借書管理、還書管理》
個人信息查看以及修改退出等
用戶管理:
點(diǎn)擊查看用戶的信息、可根據(jù)推薦搜索用戶信息、可以添加和修改刪除用戶信息
角色管理:
點(diǎn)擊查看角色信息、以及模糊搜索和重置信息、添加修改角色信息、根據(jù)角色分配權(quán)限信息
添加角色:
分配權(quán)限:
應(yīng)用管理:
圖書信息管理:
圖書分類:
圖書信息:
借書管理:
還書管理:
用戶端:
用戶登錄后可以查看自己的借閱記錄、以及去借書和歸還書籍等操作
借書管理:
還書管理:
圖書檢索:
借還記錄:
代碼實現(xiàn)
這個項目功能比較簡單、用的技術(shù)也是大家非常熟悉的技術(shù)、主要是springboot、springmvc、mybatis以前端的jquery、layui、html和css等基本樣式。就拿登錄來舉一個完整例子吧、首先是前端靜態(tài)頁面的編寫以及發(fā)送登錄請求
<!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">圖書管理系統(tǒng)</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="學(xué)生" 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秒關(guān)閉(如果不配置,默認(rèn)是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 進(jìn)行更改$("#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接收到前端的登錄請求之后執(zhí)行參數(shù)校驗、將前端傳遞過來的用戶名密碼以及用戶角色進(jìn)行判斷驗證、調(diào)用userService.userLogin方法執(zhí)行用戶登錄驗證、查詢數(shù)據(jù)庫當(dāng)前賬號密碼是否正確、返回狀態(tài)碼給前端、前端根據(jù)狀態(tài)碼進(jìn)行相對的頁面跳轉(zhuǎn)以及數(shù)據(jù)效應(yīng)。
/*** 用戶登錄** @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";}
總體來說這個項目功能相對還是比較簡單優(yōu)秀的、適合初學(xué)者作為課程設(shè)計和畢業(yè)設(shè)計參考
獲取源碼:
大家點(diǎn)贊、收藏、關(guān)注、評論啦
🍅查看下方微信號獲取聯(lián)系方式 📝
🚀🚀🚀精彩系列推薦
Java畢設(shè)項目精品實戰(zhàn)案例《1000套》
精彩專欄推薦訂閱:在下方專欄