——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明






基于javaweb的SpringBoot图书管理系统(java+springboot+html+thymeleaf+bootstrap+maven+mysql)
项目介绍
该项目分为管理员与读者两种角色,主要功能有:
- 登录、注销、修改密码
- 管理员主要功能包括:图书管理、读者管理、借还管理。对图书信息的增删改查、查看读者、查看借阅记录等;
- 读者对图书信息的查看查询、修改个人信息、查看借阅记录
共7张表;
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
6.数据库:MySql 8.0版本;
技术栈
数据库:mysql5.7 后端框架: SpringBoot HTML模板: ThymeLeaf 持久层: Mybatis UI: Bootstrap
登录验证和用户权限: SpringSecurity
注意事项
- 高版本mysql在登录时可能会报空指针错误,出现问题的建议安装并使用mysql5.7版本
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| else return "0"; } } package com.lyx.bookmanager.controller.user;
@Controller @RequestMapping("/user/book") public class UserBookController { @Autowired private BookMapper bookMapper;
@RequestMapping("/getAll") public String getAll(Model model) { List<Book> books = bookMapper.getAllBook(); model.addAttribute("books", books); return "user/books"; }
@RequestMapping("/info/{id}") public String info(Model model, @PathVariable("id") String id) { Book book = bookMapper.getBookById(id); model.addAttribute("book", book); return "user/book_info"; }
@RequestMapping("/search") public String search(String keyword, Model model) { List<Book> books = bookMapper.searchBook(keyword); model.addAttribute("books", books);
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| }
@RequestMapping("/add") public String add(Book book) { bookMapper.addBook(book); return "redirect:/admin/book/getAll"; }
@RequestMapping("/search") public String search(String keyword, Model model) { List<Book> books = bookMapper.searchBook(keyword); model.addAttribute("books", books); return "admin/book_search_result"; } } package com.lyx.bookmanager.config;
@WebFilter(urlPatterns = { "/", "/index", "/admin/*", "/user/*", "/toChPwdPage" }) public class SessionFilter implements Filter {
private ReaderMapper readerMapper; @Override public void init(FilterConfig filterConfig) throws ServletException { ServletContext servletContext = filterConfig.getServletContext(); WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext); readerMapper = (ReaderMapper)ctx.getBean("readerMapper"); }
@Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) servletRequest; HttpSession session = request.getSession();
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| }
@RequestMapping("/toEditPage/{id}") public String toEditPage(Model model, @PathVariable("id") String id) { Book book = bookMapper.getBookById(id); model.addAttribute("book", book); return "admin/book_edit"; }
@RequestMapping("/update") public String update(Book book) { bookMapper.updateBook(book); return "redirect:/admin/book/getAll"; }
@RequestMapping("/delete/{id}") public String delete(@PathVariable("id") long id) { bookMapper.deleteBook(id); return "redirect:/admin/book/getAll"; }
@RequestMapping("/toAddPage") public String toAddPage() { return "admin/book_add"; }
@RequestMapping("/add") public String add(Book book) { bookMapper.addBook(book); return "redirect:/admin/book/getAll"; }
@RequestMapping("/search") public String search(String keyword, Model model) { List<Book> books = bookMapper.searchBook(keyword); model.addAttribute("books", books); return "admin/book_search_result"; } } package com.lyx.bookmanager.config;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| @RequestMapping("/info/{id}") public String info(Model model, @PathVariable("id") String id) { Book book = bookMapper.getBookById(id); model.addAttribute("book", book); return "user/book_info"; }
@RequestMapping("/search") public String search(String keyword, Model model) { List<Book> books = bookMapper.searchBook(keyword); model.addAttribute("books", books); return "user/book_search_result"; } } package com.lyx.bookmanager.controller.user;
@Controller @RequestMapping("/user") public class UserReaderController {
@Autowired private ReaderMapper readerMapper;
@RequestMapping("/toInfoPage") public String toInfoPage(HttpSession session, Model model) { String username = (String) session.getAttribute("username"); Reader info = readerMapper.getReaderInfo(username); model.addAttribute("info", info); return "user/reader_info"; }
@RequestMapping("/info/update") public String update(Reader reader) { readerMapper.updateInfo(reader); return "redirect:/user/toInfoPage"; } } package com.lyx.bookmanager.controller.user;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| @RequestMapping("/getAll") public String getAll(Model model) { List<Book> books = bookMapper.getAllBook(); model.addAttribute("books", books); return "user/books"; }
@RequestMapping("/info/{id}") public String info(Model model, @PathVariable("id") String id) { Book book = bookMapper.getBookById(id); model.addAttribute("book", book); return "user/book_info"; }
@RequestMapping("/search") public String search(String keyword, Model model) { List<Book> books = bookMapper.searchBook(keyword); model.addAttribute("books", books); return "user/book_search_result"; } } package com.lyx.bookmanager.controller.user;
@Controller @RequestMapping("/user") public class UserReaderController {
@Autowired private ReaderMapper readerMapper;
@RequestMapping("/toInfoPage") public String toInfoPage(HttpSession session, Model model) { String username = (String) session.getAttribute("username"); Reader info = readerMapper.getReaderInfo(username); model.addAttribute("info", info); return "user/reader_info"; }
@RequestMapping("/info/update") public String update(Reader reader) { readerMapper.updateInfo(reader); return "redirect:/user/toInfoPage"; }
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=391422272105200bj
https://javayms.pages.dev?id=391422272105200bj