图书管理系统练习项目源码-前后端分离-【Java版】

发布于:2025-08-29 ⋅ 阅读:(15) ⋅ 点赞:(0)

今天给大家分享一个 我最近使用java8, 框架 springboot 写的一个web项目 ,叫图书管理系统。项目主要是来巩固 java8的编程技术。使用的是前端后 分离开发。
主要实现的功能:
1、用户管理:可以新增、编辑、删除用户信息。
2、图书管理:添加、修改、删除图书,并能够查看图书列表。
3、借阅管理:记录图书借阅、归还情况。
4、数据展示:通过前端页面展示系统中的图书、用户信息,提供了简洁、易用的界面。
使用技术
1、Spring Boot 2.7:后端使用Spring Boot 2.7框架,简化了Java开发中的常见配置,帮助开发者快速构建Web应用。
2、MySQL 8:作为关系型数据库管理系统,MySQL 8用于存储用户和图书信息,并支持CRUD操作。
3、Vue 2:前端使用Vue2框架,配合Element UI组件库,提供响应式页面和现代化用户界面。
4、Element UI:帮助实现简洁且功能丰富的UI设计,极大提高了前端开发效率。
首页:
在这里插入图片描述
图书列表:
在这里插入图片描述
借用归还:
在这里插入图片描述
项目代码截图:
在这里插入图片描述

package com.books.base.controller;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.books.base.entities.BookCategory;
import com.books.base.out.R;
import com.books.base.service.serviceInterface.BookCategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * 图书分类控制器
 * 作者:json
 */
@RestController
@RequestMapping("/api/bookCategory")
public class BookCategoryController extends BaseController {

    @Autowired
    private BookCategoryService bookCategoryService;

    /**
     * 分页查询图书分类
     * @param current 当前页
     * @param size 每页大小
     * @param name 分类名称
     * @param status 状态
     * @return 分页结果
     */
    @GetMapping("/page")
    public R page(
            @RequestParam(defaultValue = "1") Integer current,
            @RequestParam(defaultValue = "10") Integer size,
            @RequestParam(required = false) String name,
            @RequestParam(required = false) Integer status) {
        IPage<BookCategory> page = new Page<>(current, size);
        IPage<BookCategory> pageResult = bookCategoryService.pageList(page, name, status);
        return R.data(pageResult);
    }

    /**
     * 获取图书分类详情
     * @param id 图书分类ID
     * @return 图书分类详情
     */
    @GetMapping("/{id}")
    public R getById(@PathVariable Integer id) {
        BookCategory bookCategory = bookCategoryService.getById(id);
        return R.data(bookCategory);
    }

    /**
     * 新增图书分类
     * @param bookCategory 图书分类信息
     * @return 操作结果
     */
    @PostMapping
    public R save(@RequestBody BookCategory bookCategory) {
        boolean result = bookCategoryService.save(bookCategory);
        return result ? R.success("新增成功") : R.fail("新增失败");
    }

    /**
     * 修改图书分类
     * @param bookCategory 图书分类信息
     * @return 操作结果
     */
    @PutMapping
    public R update(@RequestBody BookCategory bookCategory) {
        boolean result = bookCategoryService.updateById(bookCategory);
        return result ? R.success("修改成功") : R.fail("修改失败");
    }

    /**
     * 删除图书分类
     * @param id 图书分类ID
     * @return 操作结果
     */
    @DeleteMapping("/{id}")
    public R remove(@PathVariable Integer id) {
        boolean result = bookCategoryService.removeById(id);
        return result ? R.success("删除成功") : R.fail("删除失败");
    }
}

项目虽然功能不是很复杂,但是对于刚开始学习编程的小伙伴,有可能也是有难度的,不过如果自己能尝试着 敲一些项目,会对自己的学习到的编程知识有一个更深的体会。对此项目有兴趣的小伙伴可以去看看学习一下。【非开源项目】

https://wwwoop.com/home/Index/projectInfo?goodsId=110&typeParam=1&subKey=-1


网站公告

今日签到

点亮在社区的每一天
去签到