JavaWeb图书馆管理系统的设计与实现

Posted 彭祥.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb图书馆管理系统的设计与实现相关的知识,希望对你有一定的参考价值。

JavaWeb图书馆管理系统

近日,博主接到了一个小项目(同学需要)要求做一个一个JavaWeb图书馆管理系统,最要紧的是,工作量要有,是要做毕业设计的。。。。

(博主不禁吐槽,这个课题竟然能够通过!)

时间嘛,要求两三天完成。
(再次吐槽:两三天,是你草率了还是看不起这个毕设呀,好歹你是要做毕设的,走点心好不啦!)

但看他一脸呆萌摆出了那副人畜无害的表情。。。。。。
在这里插入图片描述
好啦好啦,服你了,下次麻烦有时早点说,弄得人家一点心里准备都没有。

时间紧,任务重,话不多说,开干!!!!!!!
在这里插入图片描述
由于他啥都没准备,也就全部靠自己自由发挥了。。。。。

以下是系统功能介绍:

前台:

用户登录 书籍推荐(按照借阅数量) 新书推荐 书籍类别查看 公告查看 添加书籍评论 查看个人借阅信息

后台:

管理员登录修改个人信息 书籍类别管理 书籍管理 书籍借阅 书籍归还 书籍查找 公告管理 借阅管理 用户管理

系统环境:

JDK1.8 Tomcat 8 mysql eclipse开发

项目结构

在这里插入图片描述

界面展示:图书馆前台首页

设计思路:图书馆首页的书籍推荐是根据借阅数量进行排列的,新书上架则是通过添加顺序排列。要将每一本书籍归类,通过设计书籍类别来实现。
在这里插入图片描述

书籍详情 :馆藏数量,书籍描述,借阅数量,评论,推荐

书籍详情中,这个界面做的要精致些,添加评论要有,书籍推荐要有,此处的书籍推荐是按照书籍的名称相近程度进行推荐的。
在这里插入图片描述

我的借阅

查看我的借阅信息,借阅的书籍要按时归还,状态分为:借阅中,已归还,逾期三种,当用户前往图书馆归还或者借阅书籍时会涉及这三种状态。
在这里插入图片描述

图书馆后台书籍管理

书籍管理,书籍借阅
在这里插入图片描述

书籍借阅:

点击书籍后,输入用户的联系方式,此处将tel字段设置为唯一,只有先前已经被管理员添加的用户才能够借阅书籍,这样设计也是为了书籍安全考虑,毕竟不通过审核便将书籍外借可不太好。
书籍被借出后,借阅量会相应增加,同时库存会减少。
当然,此处的库存减少是暂时的,待用户还书后,库存自然会恢复。
在这里插入图片描述

公告管理界面

在这里插入图片描述
图书借阅界面(归还图书)
在这里插入图片描述

书籍数据层操作

package booklibrary.dao.impl;

import java.util.List;

import com.java.util.DBUtil;
import com.java.util.Page;

import booklibrary.model.Book;
import dao.BookDao;

public class BookDaoImpl implements BookDao{
DBUtil dbutil=new DBUtil();
	@Override
	public int addBook(Book book) {
		// TODO Auto-generated method stub
		String sql="insert into books(name,detail,countbook,pay,typeid,datetime,img,star) values(?,?,?,?,?,?,?,?)";
		Object[]obj={book.getName(),book.getDetail(),book.getCountbook(),book.getPay(),book.getTypeid(),book.getDatetime(),book.getImg(),"0"};
		int result=0;
		try {
			result=dbutil.execute(sql, obj);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return result;
	}
	@Override
	public List<Book> getBookSList() {
		// TODO Auto-generated method stub
		String sql="select  books.id id, books.name name,books.detail detail,books.countbook countbook,books.pay pay,books.img img,books.comments cooments,books.star star,types.name typename from  books inner join types on types.id=books.typeid order by books.star desc";
		List books=null;
		try {
			books=dbutil.getQueryList(Book.class, sql, null);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return books;
	}
	public List<Book> getBookSListNew(String name) {
		// TODO Auto-generated method stub
		String sql="select  books.id id, books.name name,books.detail detail,books.countbook countbook,books.pay pay,books.img img,books.comments cooments,books.star star,types.name typename from  books inner join types on types.id=books.typeid order by books.id desc ";
		List books=null;
		try {
			books=dbutil.getQueryList(Book.class, sql, null);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return books;
	}
	public Page  getBooks(Page page){
		String sql="select  books.id id, books.name name,books.detail detail,books.countbook countbook,books.pay pay,books.img img,books.comments cooments,books.star star,types.name typename,books.datetime datetime from  books inner join types on types.id=books.typeid order by books.id desc ";
		Page page1=null;
		page1=dbutil.getQueryPage(Book.class, sql,null, page);
		return page1;
		
	}
	public Page  getBooksByName(Page page,String name){
		String sql="select  books.id id, books.name name,books.detail detail,books.countbook countbook,books.pay pay,books.img img,books.comments cooments,books.star star,types.name typename,books.datetime datetime from  books inner join types on types.id=books.typeid  where books.name like '%"+name+"%' order by books.id desc";
		
		Page page1=null;
		page1=dbutil.getQueryPage(Book.class, sql,null, page);
		return page1;
		
	}
	public Page  getBooksByType(Page page,int typeid){
		String sql="select  books.id id, books.name name,books.detail detail,books.countbook countbook,books.pay pay,books.img img,books.comments cooments,books.star star,types.name typename from  books inner join types on types.id=books.typeid  where books.typeid=?";
		Object[] obj={typeid};
		Page page1=null;
		page1=dbutil.getQueryPage(Book.class, sql,obj, page);
		return page1;
		
	}
	public List<Book> getBookRe(String name) {
		// TODO Auto-generated method stub
		String sql="select id,name,img,detail from books where name like '"+name+"%'";
		List books=null;
		try {
			books=dbutil.getQueryList(Book.class, sql, null);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return books;
	}
	public Book getBookById(String id){
		int id1=Integer.valueOf(id);
		String sql="select books.id id, books.name name,books.detail detail,books.countbook countbook,books.pay pay,books.img img,books.comments comments,books.star star,types.name typename from  books inner join types on types.id=books.typeid where books.id=?";
		Object[] obj={id1};
		Book book=new Book();
		try {
			book=(Book) dbutil.getObject(Book.class, sql, obj);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return book;
		
	}
	public int addcomments(Book book){
		String sql="update books set comments=? where id=?";
				
				Object[] paramList={book.getComments(),book.getId()};
				int result=0;
				try {
					result=dbutil.execute(sql, paramList);
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				return result;
			}
	@Override
	public int update(Book book) {
		// TODO Auto-generated method stub
		String sql="update books set name=?,detail=?,pay=?,countbook=?,img=?,typeid=? where id=?";
		Object[] obj={book.getName(),book.getDetail(),book.getPay(),book.getCountbook(),book.getImg(),book.getTypeid(),book.getId()};
		int result=0;
		try {
			result=dbutil.execute(sql, obj);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return result;
	}
	@Override
	public int borrow(DBUtil dbutil1,String bookid) {
		// TODO Auto-generated method stub
		String sql="update books set countbook=countbook-1,star=star+1 where id=?";
		Object[] obj={bookid};
		int result=0;
		try {
			result=dbutil1.execute(sql,obj);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return result;
	}
	@Override
	public int returnbook(String bookid) {
		// TODO Auto-generated method stub
		String sql="update books set countbook=countbook+1 where id=?";
				Object[] obj={bookid};
		int result=0;
		try {
			result=dbutil.execute(sql,obj);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return result;
	}
	@Override
	public int delete(int id) {
		// TODO Auto-generated method stub
		String sql="delete from books where id=?";
		Object[] obj={id};
		int result=0;
		try {
			result=dbutil.execute(sql, obj);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return result;
	}

}

以上是关于JavaWeb图书馆管理系统的设计与实现的主要内容,如果未能解决你的问题,请参考以下文章

javaweb项目图书借阅管理系统设计与实现(有文档+调试视频教程+项目源码).rar

基于javaweb图书馆座位预约管理系统的设计与实现.rar(论文+项目源码)

基于javaweb图书管理系统设计与实现.rar(论文+项目程序源码)

计算机毕业设计ssm图书借阅小程序系统的设计与实现代码讲解安装调试

JavaWeb图书管理系统.rar(毕业设计(论文)+毕业设计指导书+大学毕业设计任务书+图书管理系统+毕业论文答辩)

图书馆系统(登录设计)