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