⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 books.java

📁 图书管理系统,B/S,C/S都有,附有源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
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 + -