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;
	}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章