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图书借阅小程序系统的设计与实现代码讲解安装调试