📄 books.java
字号:
package book;
import java.sql.*;
import java.util.Vector;
import database.*;
import book.bookInfo;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import reader.Readers;
import admin.admin;
/**
* <p>Title: library</p>
* <p>Description: library</p>
* <p>Copyright: Copyright (c) 2007</p>
* <p>Company: </p>
* @author nino
* @version 0.1
*/
public class Books {
private Vector bookList; //图书列表
private int pageCount; //总页数
private int rowsCount; //总记录数
private int pageSize; //每页显示记录数
private int curPage; //当前显示的页面数
private javax.servlet.http.HttpServletRequest request; //建立页面请求
private javax.servlet.http.HttpSession session; //接收页面SESSION
private String errMsg; //错误信息
private String bookSN; //图书编号
private String bookName; //书名
private String bookAuthor; //图书作者
private String bookPress; //图书出版社
private String bookISBN; //图书ISBN
private String bookClass; //图书种类
private String bookLevel; //图书借阅等级
private String bookIn; //图书在库状态
private String bookPrice; //图书价格
private String bookComment; //图书备注
private String readerSN; //读者编号
private String readerName; //读者姓名
private String BD; //借书日期
private String RD; //还书日期
public String getErrMsg() {
return errMsg;
}
public Vector getBookList() {
return bookList;
}
public int getPageCount() {
return pageCount;
}
public int getRowsCount() {
return rowsCount;
}
public int getPageSize() {
return pageSize;
}
public int getCurPage() {
return curPage;
}
public String getBookSN() {
return bookSN;
}
public String getReaderSN() {
return readerSN;
}
public String getReaderName() {
return readerName;
}
public String getBD() {
return BD;
}
public String getRD() {
return RD;
}
public String createBookSN() throws
Exception {
DataBase db = new DataBase();
String newBookSN = "00000000";
int intBookSN;
try {
//从数据库中取出最大的编号
ResultSet rs = db.executeQuery("select max(图书编号) as 图书编号 from Book");
rs.next();
newBookSN = rs.getString(1);
//转换为INT格式以便增加
intBookSN = Integer.parseInt(newBookSN);
rs.close();
//编号是否大于99999999
if (intBookSN < 99999999) {
//编号+1
intBookSN++;
//转换为字符串
newBookSN = Integer.toString(intBookSN);
//字符串不满8位前面填充0
while (newBookSN.length() < 8) {
newBookSN = "0" + newBookSN;
}
}
else {
//编号大于99999999
newBookSN = "00000000";
}
return newBookSN;
}
catch (SQLException e) {
System.out.println(e);
newBookSN = "00000000";
}
return newBookSN;
}
public boolean getAllBook() throws Exception {
DataBase db = new DataBase();
try {
ResultSet rs = db.executeQuery("select * from Book");
bookList = new Vector();
while (rs.next()) {
bookInfo bookinfo = new bookInfo();
bookinfo.setBookSN(rs.getString(1));
bookinfo.setBookName(rs.getString(2));
bookinfo.setBookAuthor(rs.getString(3));
bookinfo.setBookPress(rs.getString(4));
bookinfo.setBookISBN(rs.getString(5));
bookinfo.setBookClass(rs.getString(6));
bookinfo.setBookLevel(rs.getString(7));
bookinfo.setBookIn(rs.getString(8));
bookinfo.setBookPrice(rs.getString(9));
bookinfo.setBookComment(rs.getString(10));
bookList.addElement(bookinfo);
}
return true;
}
catch (SQLException e) {
System.out.println(e);
return false;
}
finally {
//关闭数据库连接
db.close();
}
}
public boolean getOneBook(String newBookSN) throws Exception {
DataBase db = new DataBase();
ResultSet rs = db.executeQuery("select * from Book where 图书编号 = '" +
db.toSql(newBookSN) +
"'"
);
if (rs.next()) {
bookList = new Vector();
bookInfo bookinfo = new bookInfo();
bookinfo.setBookSN(rs.getString(1));
bookinfo.setBookName(rs.getString(2));
bookinfo.setBookAuthor(rs.getString(3));
bookinfo.setBookPress(rs.getString(4));
bookinfo.setBookISBN(rs.getString(5));
bookinfo.setBookClass(rs.getString(6));
bookinfo.setBookLevel(rs.getString(7));
bookinfo.setBookIn(rs.getString(8));
bookinfo.setBookPrice(rs.getString(9));
bookinfo.setBookComment(rs.getString(10));
bookList.addElement(bookinfo);
}
else {
//关闭数据库连接
rs.close();
db.close();
return false;
}
//关闭数据库连接
rs.close();
db.close();
return true;
}
public boolean searchBook(HttpServletRequest res, HttpSession ses) throws
Exception {
DataBase db = new DataBase();
admin admin = new admin();
//获取页面请求信息
request = res;
String newBookSN = db.toSql(request.getParameter("bookSN"));
//从SESSION中获取管理员ID
session = ses;
String supervisor = db.toSql( (String) session.getAttribute("supervisor"));
if (admin.isAdminSB(supervisor)) {
bookSN = "%" + db.toSql(request.getParameter("bookSN")) + "%";
bookName = "%" + db.toSql(request.getParameter("bookName")) + "%";
bookAuthor = "%" + db.toSql(request.getParameter("bookAuthor")) + "%";
bookPress = "%" + db.toSql(request.getParameter("bookPress")) + "%";
bookISBN = "%" + db.toSql(request.getParameter("bookISBN")) + "%";
bookClass = "%" + db.toSql(request.getParameter("bookClass")) + "%";
String strPage = request.getParameter("page");
if (strPage != null) {
curPage = Integer.parseInt(strPage);
}
else {
curPage = 1;
}
try {
db.prepareStatement("select * from Book where 图书编号 like ? and 书名 like ? and 作者 like ? and 出版社 like ? and ISBN like ? and 分类 like ?");
db.setString(1, bookSN);
db.setString(2, bookName);
db.setString(3, bookAuthor);
db.setString(4, bookPress);
db.setString(5, bookISBN);
db.setString(6, bookClass);
ResultSet rs = db.executeQuery();
sepPage sep = new sepPage();
sep.setRS(rs); //对应页面的记录
pageCount = sep.getPageCount(); //总页数
rowsCount = sep.getRowsCount(); //总记录数
pageSize = sep.getPageSize(); //每页显示记录数
sep.gotoPage(curPage); //传入页数
rs.absolute(sep.getRow()); //起始行
bookList = new Vector();
int i = 0;
while (i < pageSize & !rs.isAfterLast()) {
bookInfo bookinfo = new bookInfo();
bookinfo.setBookSN(rs.getString(1));
bookinfo.setBookName(rs.getString(2));
bookinfo.setBookAuthor(rs.getString(3));
bookinfo.setBookPress(rs.getString(4));
bookinfo.setBookISBN(rs.getString(5));
bookinfo.setBookClass(rs.getString(6));
bookinfo.setBookLevel(rs.getString(7));
bookinfo.setBookIn(rs.getString(8));
bookinfo.setBookPrice(rs.getString(9));
bookinfo.setBookComment(rs.getString(10));
bookList.add(bookinfo);
rs.next();
i++;
}
rs.close();
return true;
}
catch (SQLException e) {
errMsg = "搜索完毕,没有搜索到结果,请更改搜索条件后再尝试!";
System.out.println(e);
return false;
}
finally {
//关闭数据库连接
db.close();
}
}
else {
errMsg = "管理编号为 " + supervisor + " 的管理员没有权限查询图书!";
return false;
}
}
public boolean addBook(HttpServletRequest res, HttpSession ses) throws
Exception {
DataBase db = new DataBase();
admin admin = new admin();
//获取页面请求信息
request = res;
//从SESSION中获取管理员ID
session = ses;
String supervisor = db.toSql( (String) session.getAttribute("supervisor"));
if (admin.isAdminBO(supervisor)) {
//产生新的图书编号
String bookSN = createBookSN();
if (bookSN.equals("00000000")) {
errMsg = "无法正确产生新的图书编号,无法添加新图书,请联系高级管理员!";
return false;
}
//获取页面请求
bookName = request.getParameter("bookName");
bookAuthor = request.getParameter("bookAuthor");
bookPress = request.getParameter("bookPress");
bookISBN = request.getParameter("bookISBN");
bookClass = request.getParameter("bookClass");
bookLevel = request.getParameter("bookLevel");
bookIn = "1";
bookPrice = request.getParameter("bookPrice");
bookComment = request.getParameter("bookComment");
try {
//添加图书信息
db.prepareStatement("insert into Book values(?,?,?,?,?,?,?,?,?,?)");
db.setString(1, bookSN);
db.setString(2, bookName);
db.setString(3, bookAuthor);
db.setString(4, bookPress);
db.setString(5, bookISBN);
db.setString(6, bookClass);
db.setString(7, bookLevel);
db.setString(8, bookIn);
db.setString(9, bookPrice);
db.setString(10, bookComment);
db.executeUpdate();
return true;
}
catch (SQLException e) {
errMsg = "修改添加图书失败,请检查各项图书数据无误后再尝试!";
return false;
}
finally {
//关闭数据库连接
db.close();
}
}
else {
errMsg = "管理编号为 " + supervisor + " 的管理员没有权限添加图书!";
return false;
}
}
public boolean delBook(HttpServletRequest res, HttpSession ses) throws
Exception {
DataBase db = new DataBase();
admin admin = new admin();
//获取页面请求信息
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -