Design and implementation of SpringBoot+MySQL+Html book management system (with source code download address)

Reminder: See the end of the article for how to obtain the source code of this system

Java Selected Project Encyclopedia: "Java Project Selected | Java Graduation Design Project Source Code"

01 System Overview

As a branch of computer application, library management has advantages that cannot be compared with manual management, such as rapid retrieval, convenient search, high reliability, large storage capacity, good confidentiality, long life, and low cost. management efficiency. Therefore, it is very necessary to develop a library management system that can provide users with sufficient information and fast query methods.

This system realizes functions such as book management, borrowing management, user management, announcement management, personal center, etc. It has a friendly interface, easy operation, simple maintenance, and can handle a large amount of data while maintaining data integrity and security. It is in line with the library management system of colleges and universities requirements.

02 Development tools and technology selection

  • Data presentation layer: Html+JavaScript+CSS+JavaEx+JQuery
  • Business logic layer: Java+Spring+SpringMVC
  • Data persistence layer: MySQL+MyBatis
  • Development tools: IDEA/Eclipse

03 Operating environment

JDK1.8 + Maven3 + MySQL5.7

04 User Analysis

This system is mainly used for library management in colleges and universities, and the users are system administrators and ordinary readers.

  • System administrator: manage various functions of the entire system, such as: bulletin information, book information, user information update and maintenance.
  • Ordinary readers: borrow books, return books, read announcements, query and edit personal information, etc.

05 Function Analysis

System administrator:

  1. front page
    • Display the authority of the system administrator in the form of a business card
  2. library management
    • Book list: display the information of books that have been put on the shelf, and can search, modify, and delete the books that have been put on the shelf
    • Book shelves: enter book information, enter book name, author, book classification, number of pages, pricing and other data for book entry
  3. Borrowing management
    • Borrowing books: Search, view, and borrow books according to book titles, author names, book categories, etc.
    • Return Books: Return books that have been borrowed
  4. User Management
    • User list: Displays registered users, and can search, modify, and delete registered user information
    • User addition: Enter the user's nickname, user name, password, birthday, phone number, email and other information to add a new user
  5. Announcement management
    • Announcement list: You can search, modify, delete and other operations on the published announcements
    • Announcement release: Enter the announcement title, release time, announcement content and other elements to release the public
  6. personal management
    • Personal information details: view personal information
    • Amendment of personal information: Amendment of personal information

Regular readers:

  1. front page
    • Display the permissions of ordinary readers in the form of business cards
  2. Borrowing management
    • Borrowing books: Search, view, and borrow books according to book titles, author names, book categories, etc.
    • Return Books: Return books that have been borrowed
  3. Announcement management
    • Announcement List: Check out the published announcements
  4. personal management
    • Personal information details: view personal information
    • Amendment of personal information: Amendment of personal information

06 Database design

For the database design 图书管理系统设计与实现(SpringBoot+Mysql+HTML, see this article for how to obtain the source code package 第十章节.

07 Project structure and description

After downloading the source code of this project and importing it into the development tool (the following figure shows the directory structure imported into IDEA), the directory structure of the project is shown in the figure below:

08 Some function display and source code

8.1 Home page

Part of the code:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="utf-8">
<!--字体图标-->
<link href="javaex/pc/css/icomoon.css" rel="stylesheet" />
<!--动画-->
<link href="javaex/pc/css/animate.css" rel="stylesheet" />
<!--骨架样式-->
<link href="javaex/pc/css/common.css" rel="stylesheet" />
<!--皮肤(缇娜)-->
<link href="javaex/pc/css/skin/tina.css" rel="stylesheet" />
<!--jquery,不可修改版本-->
<script src="javaex/pc/lib/jquery-1.7.2.min.js"></script>
<!--全局动态修改-->
<script src="javaex/pc/js/common.js"></script>
<!--核心组件-->
<script src="javaex/pc/js/javaex.min.js"></script>
<!--表单验证-->
<script src="javaex/pc/js/javaex-formVerify.js"></script>
<title>图书管理系统-首页</title>
<style>
</style>
</head>
<body>
	<!--顶部导航-->
	<div class="admin-navbar">
		<div class="admin-container-fluid clear">
			<!--logo名称-->
			<div class="admin-logo">图书管理系统</div>

			<!--右侧-->
			<ul class="admin-navbar-nav fr">
				<li><input id="index_role" hidden /> <a href="javascript:;">欢迎您,<span
						id="login_user"></span></a>
					<ul class="dropdown-menu" style="right: 10px;">
						<li><a href="logout">退出当前账号</a></li>
					</ul></li>
			</ul>
		</div>
	</div>

	<!--主题内容-->
	<div class="admin-mian" style="margin-bottom: 50px;">
		<!--左侧菜单-->
		<div class="admin-aside admin-aside-fixed">
			<!-- 应用标题  -->
			<div id="admin-toc" class="admin-toc">
				<div class="menu-box">
					<div id="menu" class="menu">
						<ul id="adminMenu" style="display: none;">
							<li class="menu-item hover"><a
								href="javascript:page('welcome');"><i class="icon-home2"></i>首页</a>
							</li>

							<li class="menu-item"><a href="javascript:;">图书管理<i
									class="icon-keyboard_arrow_left"></i></a>
								<ul>
									<li><a href="javascript:page('book/book-list');">图书列表</a></li>
									<li><a href="javascript:page('book/book-add');">图书上架</a></li>
								</ul></li>

							<li class="menu-item"><a href="javascript:;">借阅管理<i
									class="icon-keyboard_arrow_left"></i></a>
								<ul>
									<li><a href="javascript:page('borrow/book-list');">借阅图书</a></li>
									<li><a href="javascript:page('borrow/back');">归还图书</a></li>
								</ul></li>

							<li class="menu-item"><a href="javascript:;">用户管理<i
									class="icon-keyboard_arrow_left"></i></a>
								<ul>
									<li><a href="javascript:page('user/user-list');">用户列表</a></li>
									<li><a href="javascript:page('user/user-add');">用户添加</a></li>
								</ul></li>

							<li class="menu-item"><a href="javascript:;">公告管理<i
									class="icon-keyboard_arrow_left"></i></a>
								<ul>
									<li><a href="javascript:page('notice/notice-list');">公告列表</a></li>
									<li><a href="javascript:page('notice/notice-add');">公告发布</a></li>
								</ul></li>

							<li class="menu-item"><a href="javascript:;">个人中心<i
									class="icon-keyboard_arrow_left"></i></a>
								<ul>
									<li><a href="javascript:page('my/my-info');">个人信息详情</a></li>
									<li><a href="javascript:page('my/my-update');">个人信息修改</a></li>
								</ul></li>
						</ul>
						<ul id="userMenu" style="display: none;">
							<li class="menu-item hover"><a
								href="javascript:page('welcome');"><i class="icon-home2"></i>首页</a>
							</li>

							<li class="menu-item"><a href="javascript:;">借阅管理<i
									class="icon-keyboard_arrow_left"></i></a>
								<ul>
									<li><a href="javascript:page('borrow/book-list');">借阅图书</a></li>
									<li><a href="javascript:page('borrow/back');">归还图书</a></li>
								</ul></li>

							<li class="menu-item"><a href="javascript:;">公告管理<i
									class="icon-keyboard_arrow_left"></i></a>
								<ul>
									<li><a href="javascript:page('notice/notice-list');">公告列表</a></li>
								</ul></li>

							<li class="menu-item"><a href="javascript:;">个人中心<i
									class="icon-keyboard_arrow_left"></i></a>
								<ul>
									<li><a href="javascript:page('my/my-info');">个人信息详情</a></li>
									<li><a href="javascript:page('my/my-update');">个人信息修改</a></li>
								</ul></li>
						</ul>
					</div>
				</div>
			</div>
		</div>

		<!--iframe载入内容-->
		<div class="admin-markdown">
			<iframe id="page" src="welcome"></iframe>
		</div>
	</div>

	<!-- foot -->
	<div class="admin-footer" style="position: fixed; bottom: 0;">
		<div class="admin-container-fluid clear"
			style="line-height: 50px; text-align: center;">【IT学长】</div>
	</div>
	<!-- foot -->
</body>
<script>

	var hightUrl = "xxxx";
	javaex.menu({
      
      
		id : "menu",
		isAutoSelected : true,
		key : "",
		url : hightUrl
	});
	
	$(function() {
      
      
		// 设置左侧菜单高度
		setMenuHeight();
	});
	
	/**
	 * 设置左侧菜单高度
	 */
	function setMenuHeight() {
      
      
		var height = document.documentElement.clientHeight - $("#admin-toc").offset().top;
		height = height - 10;
		$("#admin-toc").css("height", height+"px");
	}
	
	// 控制页面载入
	function page(url) {
      
      
		$("#page").attr("src", url);
	}

    $(document).ready(function(){
      
      
        // 页面一加载, 读取登录用户信息
    	  $.get("user/currUser", function(data){
      
      
  			var user = data.data;
  			var userId = user.id;
  			console.log("user",user);
              if (userId >0) {
      
      
                $("#login_user").text(user.username+"["+user.ident+"]");
                $("#index_role").val(user.isAdmin);
                if(user.isAdmin==0){
      
      
                	$("#adminMenu").css("display",'block');
                	$("#userMenu").css("display",'none');
                	
                }
                else{
      
      
                	$("#adminMenu").css("display",'none');
                	$("#userMenu").css("display",'block');
                }
                
              }else {
      
      
                  // 找不到用户, 不可进行借阅操作
                  javaex.message({
      
      
                      content : "登录信息已失效, 请登录后借阅",
                      type : "error"
                  });
              }
          });

    });
</script>
</html>

8.2 Library management

Book shelves:

Book revision:

Part of the source code:

package com.book.manager.controller;

import com.book.manager.entity.Book;
import com.book.manager.service.BookService;
import com.book.manager.service.BorrowService;
import com.book.manager.util.R;
import com.book.manager.util.http.CodeEnum;
import com.book.manager.util.ro.PageIn;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

/**
 * @Description 用户管理
 * @Date 2022/9/4 16:35
 */
@Api(tags = "图书管理")
@RestController
@RequestMapping("/book")
public class BookController {
    
    

    @Autowired
    private BookService bookService;
    
    @Autowired
    private BorrowService borrowService;

    @ApiOperation("图书搜索列表")
    @PostMapping("/list")
    public R getBookList(@RequestBody PageIn pageIn) {
    
    
        if (pageIn == null) {
    
    
            return R.fail(CodeEnum.PARAM_ERROR);
        }

        return R.success(CodeEnum.SUCCESS,bookService.getBookList(pageIn));
    }

    @ApiOperation("添加图书")
    @PostMapping("/add")
    public R addBook(@RequestBody Book book) {
    
    
        return R.success(CodeEnum.SUCCESS,bookService.addBook(book));
    }

    @ApiOperation("编辑图书")
    @PostMapping("/update")
    public R modifyBook(@RequestBody Book book) {
    
    
        return R.success(CodeEnum.SUCCESS,bookService.updateBook(book));
    }


    @ApiOperation("图书详情")
    @GetMapping("/detail")
    public R bookDetail(Integer id) {
    
    
        return R.success(CodeEnum.SUCCESS,bookService.findBookById(id));
    }

    @ApiOperation("图书详情 根据ISBN获取")
    @GetMapping("/detailByIsbn")
    public R bookDetailByIsbn(String isbn) {
    
    
        return R.success(CodeEnum.SUCCESS,bookService.findBookByIsbn(isbn));
    }

    @ApiOperation("删除图书")
    @GetMapping("/delete")
    public R delBook(Integer id) {
    
    
        bookService.deleteBook(id);
        borrowService.deleteBorrowByBookId(id);
        return R.success(CodeEnum.SUCCESS);
    }

}

8.3 Borrowing management

Borrow books:

Return Books:

Part of the source code:

package com.book.manager.service;

import cn.hutool.core.bean.BeanUtil;
import com.book.manager.dao.BookMapper;
import com.book.manager.dao.BorrowMapper;
import com.book.manager.dao.UsersMapper;
import com.book.manager.entity.Book;
import com.book.manager.entity.Borrow;
import com.book.manager.entity.Users;
import com.book.manager.repos.BookRepository;
import com.book.manager.repos.BorrowRepository;
import com.book.manager.util.consts.Constants;
import com.book.manager.util.vo.BookOut;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.Date;
import java.util.List;
import java.util.Optional;

/**
 * @Description 借阅管理
 * @Date 2022/9/4 16:35
 * @Author by 【IT学长】
 */
@Service
public class BorrowService {
    
    

    @Autowired
    private BorrowRepository borrowRepository;

    @Autowired
    private BorrowMapper borrowMapper;

    @Autowired
    private BookService bookService;

    @Autowired
    private UserService userService;

    /**
     * 添加
     */
    @Transactional
    public Integer addBorrow(Borrow borrow) {
    
    
        Book book = bookService.findBook(borrow.getBookId());
        Users users = userService.findUserById(borrow.getUserId());

        // 查询是否已经借阅过该图书
        Borrow bor = findBorrowByUserIdAndBookId(users.getId(),book.getId());
        if (bor!=null) {
    
    
            Integer ret = bor.getRet();
            if (ret!=null) {
    
    
                // 已借阅, 未归还 不可再借
                if (ret == Constants.NO) {
    
    
                    return Constants.BOOK_BORROWED;
                }
            }
        }

        // 库存数量减一
        int size = book.getSize();
        if (size>0) {
    
    
            size--;
            book.setSize(size);
            bookService.updateBook(book);
        }else {
    
    
            return Constants.BOOK_SIZE_NOT_ENOUGH;
        }

        // 用户可借数量减一
        int userSize = users.getSize();
        if (userSize>0) {
    
    
            userSize --;
            users.setSize(userSize);
            userService.updateUser(users);
        }else {
    
    
            return Constants.USER_SIZE_NOT_ENOUGH;
        }


        // 添加借阅信息, 借阅默认为未归还状态
        borrow.setRet(Constants.NO);
        borrowRepository.saveAndFlush(borrow);

        // 一切正常
        return Constants.OK;
    }

    /**
     * user id查询所有借阅信息
     */
    public List<Borrow> findAllBorrowByUserId(Integer userId) {
    
    
        return borrowRepository.findBorrowByUserId(userId);
    }

    /**
     * user id查询所有 已借阅信息
     */
    public List<Borrow> findBorrowsByUserIdAndRet(Integer userId, Integer ret) {
    
    
        return borrowRepository.findBorrowsByUserIdAndRet(userId,ret);
    }


    /**
     * 详情
     */
    public Borrow findById(Integer id) {
    
    
        Optional<Borrow> optional = borrowRepository.findById(id);
        if (optional.isPresent()) {
    
    
            return optional.get();
        }
        return null;
    }

    /**
     * 编辑
     */
    public boolean updateBorrow(Borrow borrow) {
    
    
        return borrowMapper.updateBorrow(borrow)>0;
    }


    /**
     * 编辑
     */
    public Borrow updateBorrowByRepo(Borrow borrow) {
    
    
        return borrowRepository.saveAndFlush(borrow);
    }

    /**
     * 根据ID删除
     */
    public void deleteBorrow(Integer id) {
    
    
        borrowRepository.deleteById(id);
    }
    
    /**
     * 根据book_id删除
     */
    public void deleteBorrowByBookId(Integer bookId) {
    
    
    	borrowMapper.deleteBorrowByBookId(bookId);
    }
    

    /**
     * 查询用户某一条借阅信息
     * @param userId 用户id
     * @param bookId 图书id
     */
    public Borrow findBorrowByUserIdAndBookId(int userId,int bookId) {
    
    
        return borrowMapper.findBorrowByUserIdAndBookId(userId,bookId);
    }

    /**
     * 归还书籍,
     * @param userId 用户Id
     * @param bookId 书籍id
     */
    @Transactional(rollbackFor = Exception.class)
    public void retBook(int userId,int bookId) {
    
    
        // 用户可借数量加1
        Users user = userService.findUserById(userId);
        Integer size = user.getSize();
        size++;
        user.setSize(size);
        userService.updateUser(user);


        // 书籍库存加1
        Book book = bookService.findBook(bookId);
        Integer bookSize = book.getSize();
        bookSize++;
        book.setSize(bookSize);
        bookService.updateBook(book);
        // 借阅记录改为已归还,删除记录
        Borrow borrow = this.findBorrowByUserIdAndBookId(userId, bookId);
        this.deleteBorrow(borrow.getId());
    }
}

8.4 User Management

user list:

User added:

Part of the source code:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.book.manager.dao.UsersMapper">
	<resultMap id="BaseResultMap"
		type="com.book.manager.entity.Users">
		<id column="id" property="id" jdbcType="INTEGER" />
		<result column="avatar" property="avatar" jdbcType="VARCHAR" />
		<result column="nickname" property="nickname"
			jdbcType="VARCHAR" />
		<result column="username" property="username"
			jdbcType="VARCHAR" />
		<result column="password" property="password"
			jdbcType="VARCHAR" />
		<result column="birthday" property="birthday"
			jdbcType="TIMESTAMP" />
		<result column="is_admin" property="isAdmin" jdbcType="INTEGER" />
		<result column="tel" property="tel" jdbcType="VARCHAR" />
		<result column="email" property="email" jdbcType="VARCHAR" />
		<result column="address" property="address" jdbcType="VARCHAR" />
		<result column="size" property="size" jdbcType="INTEGER" />
	</resultMap>

	<!-- 模糊查询 -->
	<select id="findListByLike" resultMap="BaseResultMap">
		select * from users
		<where>
			<if test="_parameter != null and _parameter != ''">
				and `username` like CONCAT('%',#{_parameter},'%') or `nickname` like
				CONCAT('%',#{_parameter},'%')
			</if>
		</where>
	</select>

	<update id="updateUsers" parameterType="map">
		update users
		<set>
			<if test="avatar != null and avatar != ''">
				avatar = #{avatar},
			</if>
			<if test="nickname != null and nickname != ''">
				nickname = #{nickname},
			</if>
			<if test="username != null and username != ''">
				username = #{username},
			</if>
			<if test="password != null and password != ''">
				password = #{password},
			</if>
			<if test="birthday != null">
				birthday = #{birthday},
			</if>
			<if test="isAdmin != null">
				is_admin = #{isAdmin},
			</if>
			<if test="tel != null and tel != ''">
				tel = #{tel},
			</if>
			<if test="email != null and email != ''">
				email = #{email},
			</if>
			<if test="address != null and address != ''">
				address = #{address},
			</if>
			<if test="size != null">
				`size` = #{size},
			</if>
		</set>
		where id = #{id}
	</update>
</mapper>

8.5 Announcement Management

List of announcements:

Announcement details:

Part of the source code:

package com.book.manager.controller;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;

import com.book.manager.entity.Notice;
import com.book.manager.entity.Users;
import com.book.manager.service.NoticeService;
import com.book.manager.util.R;
import com.book.manager.util.consts.Constants;
import com.book.manager.util.consts.ConvertUtil;
import com.book.manager.util.http.CodeEnum;
import com.book.manager.util.vo.NoticeOut;
import com.book.manager.util.vo.PageOut;
import com.book.manager.util.vo.UserOut;
import com.book.manager.util.ro.PageIn;
import com.github.pagehelper.PageInfo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @Description 公告管理
 * @Date 2022/9/4 16:35
 * @Author by 【IT学长】
 */
@Api(tags = "公告管理")
@RestController
@RequestMapping("/notice")
public class NoticeController {
    
    

    @Autowired
    private NoticeService noticeService;

    @ApiOperation("公告列表")
    @PostMapping("/list")
    public R getNotices(@RequestBody PageIn pageIn) {
    
    
        if (pageIn == null) {
    
    
            return R.fail(CodeEnum.PARAM_ERROR);
        }
        // 封装分页出参对象
        PageInfo<Notice> noticeList = noticeService.getNoticeList(pageIn);
        PageOut pageOut = new PageOut();
        pageOut.setCurrPage(noticeList.getPageNum());
        pageOut.setPageSize(noticeList.getPageSize());
        pageOut.setTotal((int) noticeList.getTotal());
        List<Notice> outs = new ArrayList<>();
        for (Notice notice : noticeList.getList()) {
    
    
            NoticeOut out = new NoticeOut();
            BeanUtils.copyProperties(notice,out);
            out.setDate1(DateUtil.format(notice.getDate(),Constants.DATE_FORMAT));
            outs.add(out);
        }
        pageOut.setList(outs);

        return R.success(CodeEnum.SUCCESS,pageOut);
    }

    @ApiOperation("添加公告")
    @PostMapping("/addNoticer")
    public R addNoticer(@RequestBody Notice notice) {
    
    
        if (notice == null) {
    
    
            return R.fail(CodeEnum.PARAM_ERROR);
        }
        return R.success(CodeEnum.SUCCESS,noticeService.addNotice(notice));
    }


    @ApiOperation("编辑公告")
    @PostMapping("/update")
    public R modifyNotice(@RequestBody Notice notice) {
    
    
        return R.success(CodeEnum.SUCCESS,noticeService.updateNotice(notice));
    }


    @ApiOperation("公告详情")
    @GetMapping("/detail")
    public R noticeDetail(Integer id) {
    
    
        Notice notice = noticeService.findNoticeById(id);
        if (notice!=null) {
    
    
        	NoticeOut out = new NoticeOut();
            BeanUtils.copyProperties(notice,out);
            out.setDate1(DateUtil.format(notice.getDate(),Constants.DATE_FORMAT));
            return R.success(CodeEnum.SUCCESS,out);
        }

        return R.fail(CodeEnum.NOT_FOUND);
    }

    @ApiOperation("删除公告")
    @GetMapping("/delete")
    public R delNotice(Integer id) {
    
    
    	noticeService.deleteNotice(id);
        return R.success(CodeEnum.SUCCESS);
    }

}

8.6 Personal center

Personal Information Details:

Part of the source code:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="utf-8">
<!--字体图标-->
<link href="../javaex/pc/css/icomoon.css" rel="stylesheet" />
<!--动画-->
<link href="../javaex/pc/css/animate.css" rel="stylesheet" />
<!--骨架样式-->
<link href="../javaex/pc/css/common.css" rel="stylesheet" />
<!--皮肤(缇娜)-->
<link href="../javaex/pc/css/skin/tina.css" rel="stylesheet" />
<!--jquery,不可修改版本-->
<script src="../javaex/pc/lib/jquery-1.7.2.min.js"></script>
<!--全局动态修改-->
<script src="../javaex/pc/js/common.js"></script>
<!--核心组件-->
<script src="../javaex/pc/js/javaex.min.js"></script>
<!--表单验证-->
<script src="../javaex/pc/js/javaex-formVerify.js"></script>
<title>图书管理系统-查询个人信息</title>
</head>
<style>
</style>

<body>
	<!--全部主体内容-->
	<div class="list-content">
		<!--块元素-->
		<div class="block">
			<!--修饰块元素名称-->
			<div class="banner">
				<p class="tab fixed">个人信息</p>
			</div>

			<!--正文内容-->
			<div class="main">
				<form id="form">
					<!--文本框-->
					<div class="unit clear">
						<div class="left">
							<span class="required">*</span>
							<p class="subtitle">昵称</p>
						</div>
						<div class="right">
							<input type="text" class="text" id="nickname" name="nickname"
								readonly="readonly" />
						</div>
					</div>

					<div class="unit clear">
						<div class="left">
							<span class="required">*</span>
							<p class="subtitle">用户名</p>
						</div>
						<div class="right">
							<input type="text" class="text" id="username" name="username"
								readonly="readonly" />
						</div>
					</div>

					<div class="unit clear">
						<div class="left">
							<span class="required">*</span>
							<p class="subtitle">密码</p>
						</div>
						<div class="right">
							<input type="password" class="text" id="password" name="password"
								readonly="readonly" />
						</div>
					</div>

					<div class="unit clear">
						<div class="left">
							<span class="required"></span>
							<p class="subtitle">生日</p>
						</div>
						<div class="right">
							<input type="text" class="text" id="birthday" name="birthday"
								readonly="readonly" />
						</div>
					</div>

					<div class="unit clear">
						<div class="left">
							<span class="required"></span>
							<p class="subtitle">电话</p>
						</div>
						<div class="right">
							<input type="text" class="text" id="tel" name="tel"
								readonly="readonly" />
						</div>
					</div>

					<!--下拉选择框-->
					<div class="unit clear">
						<div class="left">
							<span class="required"></span>
							<p class="subtitle">身份</p>
						</div>
						<div class="right">
							<input type="text" class="text" id="ident" name="ident"
								readonly="readonly" />
						</div>
					</div>

					<div class="unit clear">
						<div class="left">
							<span class="required"></span>
							<p class="subtitle">邮箱</p>
						</div>
						<div class="right">
							<input type="text" class="text" id="email" name="email"
								readonly="readonly" />
						</div>
					</div>

					<div class="unit clear">
						<div class="left">
							<span class="required"></span>
							<p class="subtitle">地址</p>
						</div>
						<div class="right">
							<input type="text" class="text" id="address" name="address"
								readonly="readonly" />
						</div>
					</div>

					<div class="unit clear">
						<div class="left">
							<span class="required"></span>
							<p class="subtitle">可借数量</p>
						</div>
						<div class="right">
							<input type="text" class="text" id="size" name="size"
								readonly="readonly" />
						</div>
					</div>
					<br> <br>

				</form>
			</div>
		</div>
	</div>

	<script>
		javaex.select({
      
      
			id : "select",
			isSearch : false
		});

		// 页面加载执行
		$(document).ready(function() {
      
      
			// get读取参数
			$.get("../user/currUser", function(data) {
      
      
				var user = data.data;
				$("#nickname").val(user.nickname);
				$("#username").val(user.username);
				$("#password").val(user.password);
				$("#birthday").val(user.birth);
				$("#tel").val(user.tel);
				$("#email").val(user.email);
				$("#address").val(user.address);
				$("#size").val(user.size);
				$("#ident").val(user.ident);

				return false;
			});
		});
	</script>
</body>
</html>

9 Running the Tutorial

Please refer to the file图书管理系统设计与实现(SpringBoot+Mysql+HTML) in the " " source code package for detailed operation steps and answers to frequently asked questions .README.md

After 第10章节downloading the source package and decompressing it, it is shown in the figure below:

10 Get the source code

That's all for this issue, thank you for reading. 获取本系统源码请微信搜索关注下方名片, reply " 20220927". The keywords must be entered completely and correctly! !

Guess you like

Origin blog.csdn.net/qq_40625778/article/details/127241783