2022年图书管理系统数据库源代码 .pdf
图书管理系统数据库源代码/创建工程及设计主界面public class Main extends JFrame private static final JDesktopPane DESKTOP_PANE=new JDesktopPane(); /桌面窗体 public static void main(String args) /入口方法 try UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName(); /设置系统界面外观new BookLogin(); /登录窗口 catch(Exception ex) ex.printStackTrace(); public static void addIFame(JInternalFrame iframe) /添加子窗体的方法 DESKTOP_PANE.add(iframe); /新增子窗体 public Main() super(); /设置“关闭”按钮处理事件setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); /创建工具栏Toolkit tool=Toolkit,getDefaultToolkit(); /获得屏幕大小Dimension screenSize=tool.getScreenSize(); setSize(800,600); /设置窗体大小名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 22 页 - - - - - - - - - setLocation(screenSize.width-getWidth()/2,(screenSize.height-getHeight()/2; /设置窗体位置setTitle(图书管理系统 );/设置窗体标题JMenuBar menuBar=createMenu(); /创建菜单栏setJMenuBar(menuBar); /设置菜单栏JToolBar toolBar=createToolBar(); /创建工具栏的方法getContentPane(),add(toolBar,BorderLayout.NORTH); /设置工具栏final JLable lable=new JLable(); /创建一个标签,用来显示图片lable.setBounds(0,0,0,0); /设置窗体的大小和位置lable.setIcon(null); /窗体背景DESKTOP_PANE.addComponentListener(new ComponentAdapter() public void componentResized(final ComponentEvent e) Dimension size=e.getComponent().getSize(); /获得组建大小lable.setSize(e.getComponent().getSize(); /设置标签大小lable.setText(); /设置标签文本,设置窗口背景 /将标签添加到桌面窗体DESKTOP_PANE.add(lable,new Integer(Integer.MIN_V ALUE); getContentPane().add(DESKTOP_PANE); /将桌面窗体添加到主窗体中 private JToolBar createToolBar() /创建工具栏的方法 JToolBar toolBar=new JToolBar(); /初始化工具栏toolBar.setFloatable(false); /设置是否可以移动工具栏toolBar.setBorder(new BevelBorder(BevelBorder.RAIZED); /设置边框/图书信息添加按钮JButton bookAddButton=new JButton(MenuActions.BOOK_ADD); ImageIcon icon=new ImageIcon(Main.class.getResource(/bookAddtb.jpg); /添加菜单栏图标bookAddButton.setIcon(icon); /设置按钮图标bookAddButton.setHideActionText(true); /显示提示文本toolBar.add(bookAddButton); /添加到工具栏中名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 22 页 - - - - - - - - - JButton bookModiAndDelButton=new JButton(MenuActions.BOOK_MODIFY); /图书信息修改按钮ImageIcon bookmodiicon=Icon.add(bookModiAndDeltb.jpg); /创建图表方法bookModiAndDelButton.setIcon(bookmodiicon); /设置按钮图标bookModiAndDelButton.setHideActionText(true); /显示提示文本toolBar.add(bookModiAndDelButton); /添加到工具栏JButton bookTypeAddButton=new JButton(MenuActions.BOOKTYPE_ADD); /图书类别添加按钮ImageIcon bookTypeAddicon=Icon.add(bookTypeAddtb.jpg); /创建图标方法bookTypeAddButton.setIcon(bookTypeAddicon); /设置按钮图标bookTypeAddButton.setHideActionText(true); /显示提示文本toolBar.add(bookTypeAddButton); /添加到工具栏JButton bookBorrowButton=new JButton(MenuActions.BORROW); /图书借阅按钮ImageIcon bookBorrowicon=Icon.add(bookBorrowtb.jpg); /创建图标方法bookBorrowButton.setIcon(bookBorrowicon); /设置按钮图标bookBorrowButton.setHideActionText(true); /显示提示文本toolBar.add(bookBorrowButton); /添加到工具栏JButton bookOrderButton=new JButton(MenuActions.NEWBOOK_ORDER); /新书订购按钮ImageIcon bookOrdericon=Icon.add(bookOrdertb.jpg); /创建图标方法bookOrderButton.setIcon(bookOrdericon); /设置按钮图标bookOrderButton.setHideActionText(true); /显示提示文本toolBar.add(bookOrderButton); /添加到工具栏JButton bookCheckButton=new JButton(MenuActions.NEWBOOK_CHECK); /验收新书按钮ImageIcon bookCheckicon=Icon.add(newbookChecktb.jpg); /创建图标方法bookCheckButton.setIcon(bookCheckicon); /设置按钮图标bookCheckButton.setHideActionText(true); /显示提示文本toolBar.add(bookCheckButton); /添加到工具栏JButton readerAddButton=new JButton(MenuActions.READER_ADD); /读者信息添加按钮ImageIcon readerAddicon=Icon.add(readerAddtb.jpg); /创建名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 22 页 - - - - - - - - - 图标方法readerAddButton.setIcon(readerAddicon); /设置按钮图标readerAddButton.setHideActionText(true); /显示提示文本toolBar.add(readerAddButton); /添加到工具栏JButton readerModiAndDelButton=new JButton(MenuActions.READER_MODIFY); /读者信息修改按钮ImageIcon readerModiAndDelicon=Icon.add(readerModiAndDeltb.jpg); /创建图标方法readerModiAndDelButton.setIcon(readerModiAndDelicon); /设置按钮图标readerModiAndDelButton.setHideActionText(true); /显示提示文本toolBar.add(readerModiAndDelButton); /添加到工具栏JButton ExitButton=new JButton(MenuActions.EXIT); /退出系统按钮ImageIcon Exiticon=Icon.add(exittb.jpg); /创建图标方法ExitButton.setIcon(Exiticon); /设置按钮图标ExitButton.setHideActionText(true); /显示提示文本toolBar.add(ExitButton); /添加到工具栏return toolBar; public class Business protected static String dbClassName=com.mysql.jdbc.Driver; /数据库驱动类protected static String dbUr1=jdbc:mysql:/localhost/ts; /连接 URL protected static String dbUser=root; /数据库用户名protected static String dbpwd=root; /数据库密码private static Connection conn=null; /数据库连接对象,初值为null public Business() try if(coon=null) /连接对象为空 Class.forName(dbClassName); /加载驱动类信息conn=DriverManager.getConnection(dbUr1,dbUser,dbPwd); /建立连接对象 catch(Exception ee) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 22 页 - - - - - - - - - ee.printStackTrace(); public static ResultSet executeQuery(String sql) /执行查询方法 try /如果连接对象为空,则重新调用构造方法if (conn=null) new Business(); return conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery(sql); /执行查询 catch(SQLException e) e.printStackTrace(); return null; /返回 null 值 finally public static int executeUpdata(String sql) /更新方法 try if(conn=null) new Business(); /如果连接对象为空,则重新调用构造方法return conn.createStatement().executeUpdate(sql); /执行更新 catch(SQLException e) e.printStackTrace(); return -1; finally public static void close() /关闭方法名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 22 页 - - - - - - - - - try conn.close(); /关闭连接对象 catch(SQLException e) e.printStackTrace(); finally conn=null; /设置连接对象为 null 值 /为数据库添加对应的类public class BookInfo private String Book_id; /图书编号private String typeid; /类别编号private String writer; /作者private String translator; /译者private String publisher; /出版社private Date date; /出版日期private Double price; /图书单价private String getBookname; / 图书名称public String getBookname() return bookname; public void setBookname(String bookname) this.bookname=bookname; public Date getDate() return date; public void setDate(Date date) this.date=date; public string getBook_id() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 22 页 - - - - - - - - - return Book_id; public void setBook_id(String Book_id) this.Book_id=Book_id; public Double getPrice() return price; public void setprice(Double price) this.price=price; public String getPublisher() return Publisher; public void setPublisher(String publisher) this.Publisher=Publisher; public String getTranslator() return translator; public void setTranslator(String translator) this.translator=translator; public String getTypeid() return typeid; public void setTypeid(String typeid) this.typeid=typeid; public String getWriter() return writer; public void setWriter(String writer) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 22 页 - - - - - - - - - this.writer=writer; public class BookType /图书列表信息类 private String id; /图书类别编号private String typeName; /图书类别名称private String days; /可解天数private String fk; /每罚款金额public String getFk() return fk; public void setFk(String fk) this.fk=fk; public String getDays() return days; public void setDays(String days) this.days=days; public string getId() return id; public void setId(String id) this.Bid=id; public String getTypeName() return typeName; public void setTypeName(String typeName) this.typeName=typeName; public class Order /图书订单信息类名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 22 页 - - - - - - - - - private String Book_id; /图书编号private Date date; /下单时间private String number; /图书数量private String operator; /操作员private String checkAndAccept; /是否收到货private String zk; /图书折扣public String getcheckAndAccept() return checkAndAccept; public void setcheckAndAccept(String checkAndAccept) this.checkAndAccept=checkAndAccept; public Date getDate() return date; public void setDate(Date date) this.date=date; public string getBook_id() return book_id; public void setBook_id(String book_id) this.book_id=book_id; public String getNumber() return number; public void setNumber(String number) this.number=number; public String getOperator() return operator; public void setOperator(String operator) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 22 页 - - - - - - - - - this.operatorr=operator ; public String getZk() return zk; public void setZk(String Zk) this.zk=zk; public class Operater private String id; /操作员编号private String name; /操作员用户名private String grade; /操作员等级private String password; /操作员密码private String type; /出版社public String getType() return type; public void setType(String type) this.type=type; public string getGrade() return grade; public void setGrade(String grade) this.grade=grade; public String getId() return id; public void setId(String id) this.id=id; public String getName() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 22 页 - - - - - - - - - return name; public void setName(String name) this.name=name; public String getPassword() return password; public void setPassword(String password) this.password=password; public class Borrow /书籍借阅信息类 private int id; /借阅编号private String book_id; /图书编号private String reader_id; /读者编号private String num; /借书数量private String borrowDate; /借书日期private String backDate; /应还日期private String Bookname; /图书名称public String getBookname() return bookname; public void setBookname(String bookname) this.bookname=bookname; public string getBackDate() return backDate; public void setBackDate(String backDate) this.backDate=backDate; public string getBorrowDate() return borrowDate; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 22 页 - - - - - - - - - public void setBorrowDate(String borrowDate) this.borrowDate=borrowDate; public String getNum() return num; public void setNum(String num) this.num=num; public String getBook_id() return book_id; public void setBook_id(String book_id) this.book_id=book_id; public String getReader_id() return reader_id; public void setReader_id(String reader_id) this.reader_id=reader_id; public int getId() return id; public void setId(Int id) this.id=id; public class Back /图书归还信息类 private String book_id; /图书编号private String bookname; /图书名称private String operatorId; /操作员编号private String borrowDate; /图书借阅时间名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 22 页 - - - - - - - - - private String backDate; /图书归还时间private String readerName; /读者姓名private String reader_id; / 读者编号private int typeId; private int id;public int getId() return id; public void setId(int id) this.id=id; public int getTypeId() return typeid; public void setTypeId(int typeid) this.typeId=typeId; public string getBackDate() return backDate; public void setBackDate(String backDate) this.backDate=backDate; public String getBookname() return bookname; public void setBookname(String bookname) this.bookname=bookname; public string getBorrowDate() return borrowDate; public void setBorrowDate(String borrowDate) this.borrowDate=borrowDate; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 22 页 - - - - - - - - - public String getOperatorId() return operatorId; public void setOperatorId(String operatorId) this.operatorId=operatorId; public String getBook_id() return book_id; public void setBook_id(String book_id) this.book_id=book_id; public String getReader_id() return reader_id; public void setReader_id(String reader_id) this.reader_id=reader_id; public String getReaderName() return readerName; public void setReaderName(String readerName) this.readerName=readerName; /系统登录模块设计public class BookLogin extends JFrame private static final Operater Type=null; /人员类型private static Operater user; /用户名private JPasswordField password; private JTextField username; private JButton login; private JButton reset; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 22 页 - - - - - - - - - public BookLogin() super(); final BorderLayout borderLayout=new BorderLayout(); /创建布局管理器setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /设置“关闭”按钮处理事件borderLayout.setVgap(10); /设置组件间的垂直关系getContentPane().setLayout(borderLayout); /使用布局管理器setTitle(图书管理系统登录 ) /设置窗体标题Toolkit tool=Toolkit.getDefaultToolkit(); /获得默认的工具箱Dimension screenSize=tool.getScreenSize(); /获得屏幕的大小setSize(285,194); setLocation(screenSize.width-getWidth()/2,(screenSize.height-getHeight()/2); /设置窗体位置final JPanel mainPanel=new JPanel(); /创建主面板mainPanel.setLayout(new BorderLayout(); /设置边框布局mainPanel.setBorder(new EmptyBorder(0,0,0,0) /设置边框为 0 getContentPane().add(mainPanel); /在窗体中加入主面板final JLabel imageLabel=new JLabel; /创建一个标签,用来显示图片ImageIcon loginIcon=Icon.add(login.jpg); /创建一个图像图标imagelabel.setIcon(loginIcon); /设置图片imageLabel.setOpaque(true); /设置绘制其边界内的所有像素imageLabel.setBackground(Color.GREEN); /设置背景颜色imageLabel.setpreferredSize(new Dimension(260,60); /设置标签大小mainPanel.add(imageLabel,BorderLayout.NORTH); /添加标签到主面板final JPanel centerPanel=new JPanel(); /添加一个中心面板final GridLayout gridLayout=new GridLayout(2,2); /创建网络布局管理器gridLayout.setHgap(5); /设置组件之间平行的距离gridLayout.setVgap(20); /设置组件之间垂直的距离centerPanel.setLayout(gridLayout); /使用布局管理器mainPanel.add(centerPanel); /添加到主桌面final JLabel userNamelabel=new JLabel(); /创建一个标签userNameLabel.setHorizontalAlignment(SwingConstants.CENTER); / 设置对齐方式userNameLabel.setPreferredSize(new Dimension(0,0); /设置组件大小userNameLabel.setMinimumSize(new Dimension(0,0); /设置组件最小的大小centerPanel.add(userNameLabel); /添加到中心面板userNameLabel.setText( 用户名:); /设置标签文本名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 22 页 - - - - - - - - - username=new JTextField(20); /创建文本框username.setPreferredSize(new Dimension(0,0); /设置组件大小centerPanel.add(username); /添加到中心面板final JLabel passwordLabel=new JLabel(); /创建一个标签passwordLabel.setHorizontalAlignment(SwingConstants.CENTER); /设置对齐方式centerPanel.add(passwordLabel); /添加到中心面板passwordLabel.setText( 密码:); /设置标签文本password=new JPasswordField(20); /创建密码框password.setDocument(new Document(6); /设置密码长度为 6 password.addKeyListener(new KeyAdapter() /监听密码框 public void keyPressed(final keyEvent e) /监听键盘案件事件 if(e.getKeyCode()=10) /如果按了回车键 login.doClick(); /进行登录 ) centerPanel.add(password); /添加到中心面板final JPanel southPanel=new JPanel; /新增一个底部面板mainPanel.add(southPanel,BorderLayout.SOUTH); /添加到主面板中login=new JButton(); /创建按钮组件login.addActionListener(new BookLoginAtion(); /添加监听器login.setText(登录); /设置按钮文本southPanel.add(login); /把按钮添加到底部面板reset=new JButton(); /创建按钮组件reset.addActionListener(new BookResetAction(); /添加监听器reset.setText( 重置);/设置按钮文本southPanel.add(reset); /把按钮添加到底部面板setVisible(true); /设置创建可见setResizable(false); /设置窗体不可改变大小 public static Operater getUser() return user; public static Operater getType() return Type; public static void setUser(Operater user) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 22 页 - - - - - - - - - BookLogin.user=user