还剩79页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《数据库系统概论》课程报告课题名称小型图书管理系统课题负责人名(学号)best同组成员__(角色)指导教师评阅成绩评阅意见提交报告时间2015年12月15日小型图书管理系统计算机科学与技术专业学生指导老师[摘要]随着计算机技术的飞速发展,利用计算机来获得和处理信息是当今信息管理的一大特点伴随计算机硬件的快速发展,有关信息管理的软件——数据库系统软件也在迅猛发展着图书馆是高等院校的重要组成部门,是教师和学生获取知识的重要场所由于图书馆主要从事大量的图书资料的储存和流通所以一直以来,计算机在图书馆的图书管理中得到了广泛的应用本系统实现图书信息管理的系统化,规范化和自动化,以最大程度提高操作人员的办公效率关键词J__A、JDBC、SQLServer、数据库、图书馆管理
一、实验题目小型图书管理系统
二、实验的目的和要求:完成一个小型图书管理系统,功能要求如下1能够通过书籍基本信息(包括书号、书名、出版社、出版日期、__、内容摘要)单个或以AND方式组合多个条件查询书籍信息;2对于每一种书籍,除可查看其基本信息之外还可查看其总数以及目前在馆数量3可增添新的书籍4可删除已有书籍(如有读者借了该书籍尚未归还,则不允许删除)5可修改书籍的基本信息6能够通过读者基本信息(包括证号、姓名、性别、系名、年级)单个或以AND方式组合多个条件查询读者信息7对于每位读者除可查看其基本信息之外,还可查看其已借的书籍列表、数量、借还日期8可增添新的读者9可删除已有读者(如该读者有尚未归还的借书,则不允许删除)10可修改读者的基本信息11可完成借还书籍的手续12还书时如超期,应该显示超期天数13借书时如果有超期的书没有还,则不允许借书14可查询有哪些读者有超期的书没有还,列出这些读者的基本信息
三、实验的环境
1、硬件环境CPU:IntelRCorei5-
32302.60GHzRAM:8GB
2、软件环境操作系统Windows7Ulti__teSP1编译软件EclipseLunaMicrosoftSQLServer2014
四、系统ER图
五、表结构定义(使用表格说明)
六、系统功能模块1能够通过书籍基本信息单个或组合多个条件查询书籍信息;2对于每一种书籍,除可查看其基本信息之外还可查看其总数以及目前在馆数量3可增添新的书籍4可删除已有书籍(如有读者借了该书籍尚未归还,则不允许删除)5可修改书籍的基本信息6能够通过读者基本信息单个或组合多个条件查询读者信息7对于每位读者除可查看其基本信息之外,还可查看其已借的书籍列表、数量、借还日期8可增添新的读者9可删除已有读者(如该读者有尚未归还的借书,则不允许删除)10可修改读者的基本信息11可完成借还书籍的手续12还书时如超期,应该显示超期天数13借书时如果有超期的书没有还,则不允许借书14可查询有哪些读者有超期的书没有还,列出这些读者的基本信息
七、程序框架流程图
九、程序运行结果
八、核心代码AddBook.j__aimportimportimportimportimportimportpublicclassAddBookextendsJFrameimplementsActionListener{SQLOperationop=newSQLOperation;Containerc=getContentPane;JPanelp1=newJPanel;JLabelbookNumber=newJLabelBookNumber:;JLabelbookName=newJLabelBookName:;JLabelbookAuthor=newJLabelBookAuthor:;JLabelpress=newJLabelPress:;JLabelpressTime=newJLabelPresstime:;JLabelbookAbstract=newJLabelAbstract:;JLabelstorage=newJLabelStorage:;JLabelre__in=newJLabelRe__in;JLabelre__in1=newJLabelUpdatewithStorage;JTextFieldnumberField=newJTextField;JTextFieldnameField=newJTextField;JTextFieldauthorField=newJTextField;JTextFieldpressField=newJTextField;JTextFieldpressTimeField=newJTextField;JTextFieldabstractField=newJTextField;JTextFieldstorageField=newJTextField;JButtoncan__l=newJButtonCan__l;JButtonconfirm=newJButtonConfirm!!;publicAddBook{c.addp1BorderLayout.NORTH;p
1.setLayoutnewGridLayout922010;p
1.addbookNumber;p
1.addnumberField;p
1.addbookName;p
1.addnameField;p
1.addbookAuthor;p
1.addauthorField;p
1.addpress;p
1.addpressField;p
1.addpressTime;p
1.addpressTimeField;p
1.addbookAbstract;p
1.addabstractField;p
1.addstorage;p
1.addstorageField;p
1.addre__in;p
1.addre__in1;p
1.addcan__l;p
1.addconfirm;can__l.addActionListenerthis;confirm.addActionListenerthis;}publicvoidactionPerformedActionEvente{//TODOAuto-generatedmethodstubife.getSour__==can__l{this.dispose;}ife.getSour__==confirm{this.dispose;BookInfobook=newBookInfonumberField.getTextnameField.getTextauthorField.getTextpressField.getTextpressTimeField.getTextabstractField.getTextInteger.parseIntstorageField.getTextInteger.parseIntstorageField.getText;ArrayListStringstrArray=newArrayListString;strArray=op.addBookJudgement;intn=0;intreplicate=0;whilenInteger.parseIntstrArray.get0{n++;ifnumberField.getText.equalsstrArray.getn{replicate++;}}ifreplicate==0{op.s__eBookbook;JOptionPane.showMessageDialognullAddabooksuc__ssfully!Infor__tionJOptionPane.INFOR__TION_MESSAGE;}else{JOptionPane.showMessageDialognullThisbooknumberhasalreadyexisted!WarningJOptionPane.INFOR__TION_MESSAGE;}}}}AddReader.j__aimportimportimportimportimportimportpublicclassAddReaderextendsJFrameimplementsActionListener{SQLOperationop=newSQLOperation;Containerc=getContentPane;JPanelp1=newJPanel;JLabelreaderNumber=newJLabelReaderNumber:;JLabelreaderName=newJLabelReaderName:;JLabel___=newJLabel___:;JLabeldpt=newJLabelDepartment:;JLabelgrade=newJLabelGrade:;JTextFieldnumberField=newJTextField;JTextFieldnameField=newJTextField;JTextField___Field=newJTextField;JTextFielddptField=newJTextField;JTextFieldgradeField=newJTextField;JButtoncan__l=newJButtonCan__l;JButtonconfirm=newJButtonConfirm!!;publicAddReader{c.addp1BorderLayout.NORTH;p
1.setLayoutnewGridLayout622010;p
1.addreaderNumber;p
1.addnumberField;p
1.addreaderName;p
1.addnameField;p
1.add___;p
1.add___Field;p
1.adddpt;p
1.adddptField;p
1.addgrade;p
1.addgradeField;p
1.addcan__l;p
1.addconfirm;can__l.addActionListenerthis;confirm.addActionListenerthis;}publicvoidactionPerformedActionEvente{//TODOAuto-generatedmethodstubife.getSour__==can__l{this.dispose;}ife.getSour__==confirm{this.dispose;ReaderInforeader=newReaderInfonumberField.getTextnameField.getText___Field.getTextdptField.getTextInteger.parseIntgradeField.getText;ArrayListStringstrArray=newArrayListString;strArray=op.addReaderJudgement;intn=0;intreplicate=0;whilenInteger.parseIntstrArray.get0{n++;ifnumberField.getText.equalsstrArray.getn{replicate++;}}ifreplicate==0{if!___Field.getText.equalsboy!___Field.getText.equalsgirl{JOptionPane.showMessageDialognullInthe___fieldyoucanonlyinputboyorgirl!WarningJOptionPane.INFOR__TION_MESSAGE;}else{op.s__eReaderreader;JOptionPane.showMessageDialognullAddareadersuc__ssfully!Infor__tionJOptionPane.INFOR__TION_MESSAGE;}}else{JOptionPane.showMessageDialognullThisreadernumberhasalreadyexisted!WarningJOptionPane.INFOR__TION_MESSAGE;}}}}BookDetails.j__aimportimportimportimportimportimportimportimportpublicclassBookDetailsextendsJFrameimplementsActionListener{SQLOperationop=newSQLOperation;Containerc=getContentPane;JPanelp1=newJPanel;JPanelp2=newJPanel;JPanelp3=newJPanel;JLabelbookNumber=newJLabelBookNumber:;JLabelbookName=newJLabelBookName:;JLabelauthor=newJLabelAuthor:;JLabelpress=newJLabelPress:;JLabelpressTime=newJLabelPresstime:;JLabelbookAbstract=newJLabelAbstract:;JLabelstorage=newJLabelStorage:;JLabelre__in=newJLabelRe__in:;JLabelnumberField=newJLabel;JLabelnameField=newJLabel;JLabelauthorField=newJLabel;JLabelpressField=newJLabel;JLabelpressTimeField=newJLabel;JLabelabstractField=newJLabel;JLabelstorageField=newJLabel;JLabelre__inField=newJLabel;JButtoncan__l=newJButtonCan__l;JLabeldetails=newJLabelBorrowandreaturndetails;O__ect[]s={ReadernumberBorrowtimeDeadlineOvertime};O__ect[][]ob1=newO__ect
[7]
[4];JTabletable=newJTableob1s;JScrollPanescrollPane=newJScrollPanetable;publicBookDetailsStringnumber{BookInfobook=newBookInfonumber;ob1=op.borrowListForBooknumber;forinti=0;i5;i++{DefaultTableModelbooks=newDefaultTableModelob1s;forintn=0;n7;n++{forintm=0;m4;m++{ob1[n][m]=this.ob1[n][m];}table.setModelbooks;table.invalidate;}}ArrayListStringstrArray=newArrayListString;strArray=op.outputBookbook;numberField.setTextnumber;nameField.setTextstrArray.get1;authorField.setTextstrArray.get2;pressField.setTextstrArray.get3;pressTimeField.setTextstrArray.get4;abstractField.setTextstrArray.get5;storageField.setTextstrArray.get6;re__inField.setTextstrArray.get7;c.addp1BorderLayout.NORTH;c.addp2BorderLayout.__NTER;c.addp3BorderLayout.SOUTH;p
1.setLayoutnewGridLayout922010;p
1.addbookNumber;p
1.addnumberField;p
1.addbookName;p
1.addnameField;p
1.addauthor;p
1.addauthorField;p
1.addpress;p
1.addpressField;p
1.addpressTime;p
1.addpressTimeField;p
1.addbookAbstract;p
1.addabstractField;p
1.addstorage;p
1.addstorageField;p
1.addre__in;p
1.addre__inField;p
1.adddetails;scrollPane.setBounds00800300;p
2.addscrollPane;p
3.addcan__l;table.setPreferredScrollableViewportSizenewDimension400100;can__l.addActionListenerthis;}publicvoidactionPerformedActionEvente{//TODOAuto-generatedmethodstubife.getSour__==can__l{this.dispose;}}}BookInfo.j__apublicclassBookInfo{privateStringnumbernameauthorpresspressTimebookAbstract;privateinttotalre__in;//defaultconstructorpublicBookInfo{}publicBookInfoStringnumber{this.number=number;}publicBookInfoStringnumberStringname{this.number=number;this.name=name;}publicBookInfoStringnumberStringnameStringauthorStringpressStringpressTimeStringbookAbstractinttotalintre__in{this.number=number;this.name=name;this.author=author;this.press=press;this.pressTime=pressTime;this.bookAbstract=bookAbstract;this.total=total;this.re__in=re__in;}publicvoidsetRe__ininti{this.re__in=i;}publicStringgetNumber{returnnumber;}publicStringgetName{returnname;}publicStringgetAuthor{returnauthor;}publicStringgetPress{returnpress;}publicStringgetPressTime{returnpressTime;}publicStringgetBookAbstract{returnbookAbstract;}publicintgetTotal{returntotal;}publicintgetRe__in{returnre__in;}}BookRetrieval.j__aimportimportimportimportimportimportimportimportimportDefaultTableModel;classBookRetrievalextendsJFrameimplementsActionListener{SQLOperationop=newSQLOperation;Containerc=getContentPane;JPanelp1=newJPanel;JPanelp4=newJPanel;JPanelp5=newJPanel;JLabelbookNumber=newJLabelBookNumber:;JLabelbookName=newJLabelBookName:;JTextFieldnumber=newJTextField;JTextFieldname=newJTextField;JButtonback=newJButtonBackFresh;JButtonaddBook=newJButtonAddabook;JButtondeleteBook=newJButtonDeleteabook;JButtoneditBook=newJButtonEditabook;JButtonsearch=newJButtonSearchfordetails!;JButtonborrowBook=newJButtonBorrowabook;JButtonreturnBook=newJButtonReturnabook;Fontfont1=newFont00Font.BOLD20;O__ect[]s={NumberNameAuthorPressPressTimeAbstractStorageRe__in};O__ect[][]ob=newO__ect
[40]
[8];JTabletable=newJTableobs;JScrollPanescrollPane=newJScrollPanetable;publicBookRetrieval{BookInfobook=newBookInfo;ob=op.allBookbook;forinti=0;i5;i++{DefaultTableModelbooks=newDefaultTableModelobs;forintn=0;n20;n++{forintm=0;m8;m++{ob[n][m]=this.ob[n][m];}table.setModelbooks;table.invalidate;}}c.addp4BorderLayout.NORTH;c.addp1BorderLayout.__NTER;c.addp5BorderLayout.SOUTH;search.setFontfont1;p
4.setLayoutnewGridLayout242010;p
4.addback;p
4.addaddBook;p
4.addeditBook;p
4.adddeleteBook;p
4.addborrowBook;p
4.addreturnBook;p
1.setLayoutnull;scrollPane.setBounds00800300;p
1.addscrollPane;p
5.setLayoutnewGridLayout5100;p
5.addbookNumber;p
5.addnumber;p
5.addbookName;p
5.addname;p
5.addsearch;table.setPreferredScrollableViewportSizenewDimension400300;addBook.addActionListenerthis;search.addActionListenerthis;back.addActionListenerthis;deleteBook.addActionListenerthis;editBook.addActionListenerthis;borrowBook.addActionListenerthis;returnBook.addActionListenerthis;}publicvoidactionPerformedActionEvente{ife.getSour__==search{ArrayListStringstrArray=newArrayListString;strArray=op.addBookJudgement;Strings1=number.getText;Strings2=name.getText;intn=0;intreplicate=0;whilenInteger.parseIntstrArray.get0{n++;ifs
1.equalsstrArray.getn{replicate++;}}ArrayListStringstrArray1=newArrayListString;strArray1=op.addBookJudgement1;intn1=0;intreplicate1=0;whilen1Integer.parseIntstrArray
1.get0{n1++;ifs
2.equalsstrArray
1.getn1{replicate1++;}}ifreplicate==0replicate1==0{JOptionPane.showMessageDialognullPleaseinputacorrectbooknumberorname!WarningJOptionPane.INFOR__TION_MESSAGE;}elseifreplicate!=0||replicate1!=0{ifreplicate==0replicate1!=0{BookInfobook=newBookInfos1s2;Strings=op.searchBookByNamebook;BookDetailsf=newBookDetailss;//f.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;f.setTitleBookDetails;f.setLocation300200;f.setSize480470;f.setVisibletrue;}elseifreplicate!=0{BookDetailsf=newBookDetailss1;//f.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;f.setTitleBookDetails;f.setLocation300200;f.setSize480470;f.setVisibletrue;}}}ife.getSour__==back{this.dispose;MyFramef=newMyFrame;//f.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;f.setTitleLibrary__nagementSystem;f.setLocation300200;f.setSize580300;f.setVisibletrue;}ife.getSour__==addBook{AddBookf=newAddBook;//f.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;f.setTitleAddabook;f.setLocation300200;f.setSize300400;f.setVisibletrue;}ife.getSour__==deleteBook{DeleteBookf=newDeleteBook;//f.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;f.setTitleDeleteabook;f.setLocation300200;f.setSize300200;f.setVisibletrue;}ife.getSour__==borrowBook{BorrowBookf=newBorrowBook;//f.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;f.setTitleBorrowabook;f.setLocation300200;f.setSize300200;f.setVisibletrue;}ife.getSour__==returnBook{ReturnBookf=newReturnBook;//f.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;f.setTitleReturnabook;f.setLocation300200;f.setSize300200;f.setVisibletrue;}ife.getSour__==editBook{SelectEditf=newSelectEdit;//f.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;f.setTitleEditabook;f.setLocation300200;f.setSize300200;f.setVisibletrue;}}}BorrowBook.j__aimportimportimportimportimportimportpublicclassBorrowBookextendsJFrameimplementsActionListener{SQLOperationop=newSQLOperation;Containerc=getContentPane;JPanelp1=newJPanel;JLabelbookNumber=newJLabelBookNumber:;JTextFieldnumberField=newJTextField;JLabelreaderNumber=newJLabelReaderNumber:;JTextFieldreaderNumberField=newJTextField;JButtoncan__l=newJButtonCan__l;JButtonborrow=newJButtonBorrow!!;publicBorrowBook{c.addp1BorderLayout.NORTH;p
1.setLayoutnewGridLayout322010;p
1.addbookNumber;p
1.addnumberField;p
1.addreaderNumber;p
1.addreaderNumberField;p
1.addcan__l;p
1.addborrow;can__l.addActionListenerthis;borrow.addActionListenerthis;}publicvoidactionPerformedActionEvente{//TODOAuto-generatedmethodstubife.getSour__==can__l{this.dispose;}ife.getSour__==borrow{StringbookNumber=numberField.getText;ArrayListStringstrArray=newArrayListString;strArray=op.addBookJudgement;intn=0;intreplicate=0;whilenInteger.parseIntstrArray.get0{n++;ifbookNumber.equalsstrArray.getn{replicate++;}}StringreaderNumber=readerNumberField.getText;ArrayListStringstrArray1=newArrayListString;strArray1=op.addReaderJudgement;intn1=0;intreplicate1=0;whilen1Integer.parseIntstrArray
1.get0{n1++;ifreaderNumber.equalsstrArray
1.getn1{replicate1++;}}ifreplicate==0||replicate1==0{JOptionPane.showMessageDialognullPleaseinputacorrectbooknumberandareadernumber!WarningJOptionPane.INFOR__TION_MESSAGE;}else{BookInfobook=newBookInfobookNumber;ArrayListStrings=newArrayListString;s=op.outputBookbook;ifInteger.parseInts.get70{ints1=op.reBorrowChecknumberField.getTextreaderNumberField.getText;ifs1==1{JOptionPane.showMessageDialognullYouh__eborrowedthisbookcannotreborrowit!Unsuc__ssfulJOptionPane.INFOR__TION_MESSAGE;}else{longcurrentTime=System.currentTimeMillis;ifop.deadLineCheckreaderNumberField.getTextcurrentTime!=0{JOptionPane.showMessageDialognullYouh__eex__ededthedeadlinepleasereturnthesebooksfirst!Unsuc__ssfulJOptionPane.INFOR__TION_MESSAGE;}else{BookInfobook1=newBookInfos.get0s.get1s.get2s.get3s.get4s.get5Integer.parseInts.get6Integer.parseInts.get7-1;op.inputBookbook1;StringborrowTime=Long.toStringSystem.currentTimeMillis;Stringdeadline=Long.toStringSystem.currentTimeMillis+2592000000l;System.out.printlnborrowTime;System.out.printlndeadline;op.insertBorrownumberField.getTextreaderNumberField.getTextborrowTimedeadline;JOptionPane.showMessageDialognullBorrowedthisbooksuc__ssfullyyouh__e30daystoenjoythisbook!Suc__ssfulJOptionPane.INFOR__TION_MESSAGE;}}}else{JOptionPane.showMessageDialognullThisbookhasbeenborrowed!Unsuc__ssfulJOptionPane.INFOR__TION_MESSAGE;}}this.dispose;}}}BorrowList.J__aimportimportimportimport;import;importimport;importimportpublicclassBorrowListextendsJFrameimplementsActionListener{SQLOperationop=newSQLOperation;Containerc=getContentPane;JPanelp1=newJPanel;JPanelp2=newJPanel;JButtonback=newJButtonBack;O__ect[]s={BooknumberReadernumberBorrowtimeDeadlineOverTime};O__ect[][]ob=newO__ect
[100]
[5];JTabletable=newJTableobs;JScrollPanescrollPane=newJScrollPanetable;publicBorrowList{//TODOAuto-generatedconstructorstubO__ect[][]ob1=op.borrowList;forinti=0;i5;i++{DefaultTableModellist=newDefaultTableModelobs;forintn=0;n100;n++{forintm=0;m5;m++{ob[n][m]=ob1[n][m];}table.setModellist;table.invalidate;}}c.addp1BorderLayout.__NTER;c.addp2BorderLayout.SOUTH;scrollPane.setBounds00800300;p
1.addscrollPane;p
2.addback;table.setPreferredScrollableViewportSizenewDimension400400;back.addActionListenerthis;}publicvoidactionPerformedActionEvente{ife.getSour__==back{this.dispose;MyFramef=newMyFrame;f.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;f.setTitleLibrary__nagementSystem;f.setLocation300200;f.setSize580300;f.setVisibletrue;}//TODOAuto-generatedmethodstub}}Date.j__aimportimportpublicclassDate{publicDate{}staticStringborrowTimeInte_____longtime{______DateFor__tdf=______DateFor__tDateFor__t.getInstan__;df.applyPatternyyyy-MM-dd;Strings=df.for__ttime;returns;}}DeleteBook.j__aimportimportimportimportimportpublicclassDeleteBookextendsJFrameimplementsActionListener{SQLOperationop=newSQLOperation;Containerc=getContentPane;JPanelp1=newJPanel;JLabelbookNumber=newJLabelBookNumber:;JTextFieldnumberField=newJTextField;JButtoncan__l=newJButtonCan__l;JButtondelete=newJButtonDelete!!;publicDeleteBook{c.addp1BorderLayout.NORTH;p
1.setLayoutnewGridLayout222010;p
1.addbookNumber;p
1.addnumberField;p
1.addcan__l;p
1.adddelete;can__l.addActionListenerthis;delete.addActionListenerthis;}publicvoidactionPerformedActionEvente{//TODOAuto-generatedmethodstubife.getSour__==can__l{this.dispose;}ife.getSour__==delete{BookInfobook=newBookInfonumberField.getText;this.dispose;ifop.deleteBookChecknumberField.getText!=0{JOptionPane.showMessageDialognullDeletethebookunsuc__ssfully.Thebookbasbeenborrowed!WarningJOptionPane.INFOR__TION_MESSAGE;}else{ifop.deleteBookbook==1{JOptionPane.showMessageDialognullDeletethebooksuc__ssfully!Infor__tionJOptionPane.INFOR__TION_MESSAGE;}else{JOptionPane.showMessageDialognullDeletethebookunsuc__ssfully.Thebookdoesnotexist!WarningJOptionPane.INFOR__TION_MESSAGE;}}}}}DeleteReader.j__aimportimportimportimportimportpublicclassDeleteReaderextendsJFrameimplementsActionListener{SQLOperationop=newSQLOperation;Containerc=getContentPane;JPanelp1=newJPanel;JLabelreaderNumber=newJLabelReaderNumber:;JTextFieldnumberField=newJTextField;JButtoncan__l=newJButtonCan__l;JButtondelete=newJButtonDelete!!;publicDeleteReader{c.addp1BorderLayout.NORTH;p
1.setLayoutnewGridLayout222010;p
1.addreaderNumber;p
1.addnumberField;p
1.addcan__l;p
1.adddelete;can__l.addActionListenerthis;delete.addActionListenerthis;}publicvoidactionPerformedActionEvente{//TODOAuto-generatedmethodstubife.getSour__==can__l{this.dispose;}ife.getSour__==delete{ReaderInforeader=newReaderInfonumberField.getText;this.dispose;ifop.deleteReaderChecknumberField.getText!=0{JOptionPane.showMessageDialognullDeletethereaderunsuc__ssfully.Pleasereturnbooksfirst!WarningJOptionPane.INFOR__TION_MESSAGE;}else{ifop.deleteReaderreader==1{JOptionPane.showMessageDialognullDeletethereadersuc__ssfully!Infor__tionJOptionPane.INFOR__TION_MESSAGE;}else{JOptionPane.showMessageDialognullDeletethereaderunsuc__ssfully.Thereaderdoesnotexist!WarningJOptionPane.INFOR__TION_MESSAGE;}}}}}EditBook.j__aimportimportimportimportimportimportpublicclassEditBookextendsJFrameimplementsActionListener{SQLOperationop=newSQLOperation;Containerc=getContentPane;JPanelp1=newJPanel;JLabelbookNumber=newJLabelBookNumber:;JLabelbookName=newJLabelBookName:;JLabelauthor=newJLabelBookAuthor:;JLabelpress=newJLabelPress:;JLabelpressTime=newJLabelPresstime:;JLabelbookAbstract=newJLabelAbstract:;JLabelstorage=newJLabelStorage:;JLabelre__in=newJLabelRe__in:;JLabelre__in1=newJLabelUpdatewithstorage;JLabelnumberField=newJLabel;JTextFieldnameField=newJTextField;JTextFieldauthorField=newJTextField;JTextFieldpressField=newJTextField;JTextFieldpressTimeField=newJTextField;JTextFieldabstractField=newJTextField;JTextFieldstorageField=newJTextField;JTextFieldtemp1=newJTextField;JTextFieldtemp2=newJTextField;JButtoncan__l=newJButtonCan__l;JButtons__e=newJButtonS__e!!;publicEditBookStringnumber{BookInfobook=newBookInfonumber;ArrayListStringstrArray=newArrayListString;strArray=op.outputBookbook;numberField.setTextnumber;nameField.setTextstrArray.get1;authorField.setTextstrArray.get2;pressField.setTextstrArray.get3;pressTimeField.setTextstrArray.get4;abstractField.setTextstrArray.get5;storageField.setTextstrArray.get6;temp
1.setTextstrArray.get6;temp
2.setTextstrArray.get7;c.addp1BorderLayout.NORTH;p
1.setLayoutnewGridLayout922010;p
1.addbookNumber;p
1.addnumberField;p
1.addbookName;p
1.addnameField;p
1.addauthor;p
1.addauthorField;p
1.addpress;p
1.addpressField;p
1.addpressTime;p
1.addpressTimeField;p
1.addbookAbstract;p
1.addabstractField;p
1.addstorage;p
1.addstorageField;p
1.addre__in;p
1.addre__in1;p
1.addcan__l;p
1.adds__e;can__l.addActionListenerthis;s__e.addActionListenerthis;}publicvoidactionPerformedActionEvente{//TODOAuto-generatedmethodstubife.getSour__==can__l{this.dispose;}ife.getSour__==s__e{inti=Integer.parseIntstorageField.getText-Integer.parseInttemp
1.getText+Integer.parseInttemp
2.getText;BookInfobook=newBookInfonumberField.getTextnameField.getTextauthorField.getTextpressField.getTextpressTimeField.getTextabstractField.getTextInteger.parseIntstorageField.getTexti;op.inputBookbook;JOptionPane.showMessageDialognullEditthebooksuc__ssfully!Infor__tionJOptionPane.INFOR__TION_MESSAGE;this.dispose;}}}EditReader.j__aimportimportimportimportimportimportpublicclassEditReaderextendsJFrameimplementsActionListener{SQLOperationop=newSQLOperation;Containerc=getContentPane;JPanelp1=newJPanel;JLabelreaderNumber=newJLabelReaderNumber:;JLabelreaderName=newJLabelReaderName:;JLabel___=newJLabel___:;JLabeldpt=newJLabelDepartment:;JLabelgrade=newJLabelGrade:;JLabelnumberField=newJLabel;JTextFieldnameField=newJTextField;JTextField___Field=newJTextField;JTextFielddptField=newJTextField;JTextFieldgradeField=newJTextField;JButtoncan__l=newJButtonCan__l;JButtons__e=newJButtonS__e!!;publicEditReaderStringnumber{numberField.setTextnumber;ReaderInforeader=newReaderInfonumber;ArrayListStringstrArray=newArrayListString;strArray=op.outputReaderreader;System.out.printlnstrArray;numberField.setTextnumber;nameField.setTextstrArray.get1;___Field.setTextstrArray.get2;dptField.setTextstrArray.get3;gradeField.setTextstrArray.get4;c.addp1BorderLayout.NORTH;p
1.setLayoutnewGridLayout622010;p
1.addreaderNumber;p
1.addnumberField;p
1.addreaderName;p
1.addnameField;p
1.add___;p
1.add___Field;p
1.adddpt;p
1.adddptField;p
1.addgrade;p
1.addgradeField;p
1.addcan__l;p
1.adds__e;can__l.addActionListenerthis;s__e.addActionListenerthis;}publicvoidactionPerformedActionEvente{//TODOAuto-generatedmethodstubife.getSour__==can__l{this.dispose;}ife.getSour__==s__e{ReaderInforeader=newReaderInfonumberField.getTextnameField.getText___Field.getTextdptField.getTextInteger.parseIntgradeField.getText;if!___Field.getText.equalsboy!___Field.getText.equalsgirl{JOptionPane.showMessageDialognullInthe___fieldyoucanonlyinputboyorgirl!WarningJOptionPane.INFOR__TION_MESSAGE;}else{op.inputReaderreader;JOptionPane.showMessageDialognullEditthebooksuc__ssfully!Infor__tionJOptionPane.INFOR__TION_MESSAGE;this.dispose;}}}}HomePage.j__aimportimportimportimportimportimportpublicclassHomePage{}classMyFrameextendsJFrameimplementsActionListener{Containerc=getContentPane;JPanelp1=newJPanel;JPanelp2=newJPanel;JPanelp3=newJPanel;JLabelwelcome=newJLabelWelcometomylibrary__nagementsystem;JLabelspa__=newJLabel;JLabelspa__1=newJLabel;JButtonbook=newJButtonBookRetrieval;JButtonreader=newJButtonReaderRetrieval;JButtonlist=newJButtonBorrowList;Fontfont1=newFont00Font.BOLD20;Fontfont2=newFont00Font.ITALIC20;publicMyFrame{c.addp1BorderLayout.__NTER;c.addp2BorderLayout.EAST;c.addp3BorderLayout.WEST;p
2.addspa__;p
3.addspa__1;p
1.setLayoutnewGridLayout415050;p
1.addwelcome;p
1.addbook;p
1.addreader;p
1.addlist;welcome.setFontfont2;book.setFontfont1;reader.setFontfont1;list.setFontfont1;list.addActionListenerthis;book.addActionListenerthis;reader.addActionListenerthis;}publicvoidactionPerformedActionEvente{ife.getSour__==book{this.dispose;BookRetrievalpage1=newBookRetrieval;page
1.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;page
1.setTitleBookRetrieval;page
1.setLocation200100;page
1.setSize815600;page
1.setVisibletrue;}ife.getSour__==reader{this.dispose;ReaderRetrievalpage2=newReaderRetrieval;page
2.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;page
2.setTitleReaderRetrieval;page
2.setLocation200100;page
2.setSize615600;page
2.setVisibletrue;}ife.getSour__==list{this.dispose;BorrowListpage2=newBorrowList;page
2.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;page
2.setTitleBorrowList;page
2.setLocation200100;page
2.setSize495515;page
2.setVisibletrue;}}}LogIn.j__aimportimportimportimportimport;importimport;publicclassLogIn{publicstaticvoid__inString[]args{Myf=newMy;f.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;f.setTitleLogIn;f.setLocation300200;f.setSize300150;f.setVisibletrue;}}classMyextendsJFrameimplementsActionListener{SQLOperationop=newSQLOperation;Containerc=getContentPane;JPanelp1=newJPanel;JPanelp2=newJPanel;JLabeluserName=newJLabelUsername:;JLabelpassword=newJLabelPassword:;JTextFieldnameField=newJTextField;JPasswordFieldpassField=newJPasswordField;JButtonconfirm=newJButtonConfirm!;publicMy{c.addp1BorderLayout.__NTER;c.addp2BorderLayout.SOUTH;p
1.setLayoutnewGridLayout225010;p
1.adduserName;p
1.addnameField;p
1.addpassword;p
1.addpassField;p
2.addconfirm;confirm.addActionListenerthis;}@OverridepublicvoidactionPerformedActionEvente{ife.getSour__==confirm{Stringname=nameField.getText;Stringpass=passField.getText;inti=op.lo__hecknamepass;ifi==1{this.dispose;MyFramef=newMyFrame;f.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;f.setTitleLibrary__nagementSystem;f.setLocation300200;f.setSize580300;f.setVisibletrue;}else{JOptionPane.showMessageDialognullPleaseenteravalidatedusernameandpassword!WarningJOptionPane.INFOR__TION_MESSAGE;}}//TODOAuto-generatedmethodstub}}ReaderDetails.j__aimportimportimportimportimportimportimportimportpublicclassReaderDetailsextendsJFrameimplementsActionListener{SQLOperationop=newSQLOperation;Containerc=getContentPane;JPanelp1=newJPanel;JPanelp2=newJPanel;JPanelp3=newJPanel;JLabelreaderNumber=newJLabelReaderNumber:;JLabelreaderName=newJLabelReaderName:;JLabel___=newJLabel___:;JLabeldpt=newJLabelDepartment:;JLabelgrade=newJLabelGrade:;JLabelnumberField=newJLabel;JLabelnameField=newJLabel;JLabel___Field=newJLabel;JLabeldptField=newJLabel;JLabelgradeField=newJLabel;JButtoncan__l=newJButtonCan__l;JLabeldetails=newJLabelBorrowandreaturndetails;O__ect[]s={BooknumberBorrowtimeDeadlineOvertime};O__ect[][]ob1=newO__ect
[7]
[4];JTabletable=newJTableob1s;JScrollPanescrollPane=newJScrollPanetable;publicReaderDetailsStringnumber{ReaderInforeader=newReaderInfonumber;ob1=op.borrowListForReadernumber;forinti=0;i5;i++{DefaultTableModelbooks=newDefaultTableModelob1s;forintn=0;n7;n++{forintm=0;m4;m++{ob1[n][m]=this.ob1[n][m];}table.setModelbooks;table.invalidate;}}ArrayListStringstrArray=newArrayListString;strArray=op.outputReaderreader;numberField.setTextnumber;nameField.setTextstrArray.get1;___Field.setTextstrArray.get2;dptField.setTextstrArray.get3;gradeField.setTextstrArray.get4;c.addp1BorderLayout.NORTH;c.addp2BorderLayout.__NTER;c.addp3BorderLayout.SOUTH;p
1.setLayoutnewGridLayout622010;p
1.addreaderNumber;p
1.addnumberField;p
1.addreaderName;p
1.addnameField;p
1.add___;p
1.add___Field;p
1.adddpt;p
1.adddptField;p
1.addgrade;p
1.addgradeField;p
1.adddetails;scrollPane.setBounds00800300;p
2.addscrollPane;p
3.addcan__l;table.setPreferredScrollableViewportSizenewDimension400200;can__l.addActionListenerthis;}publicvoidactionPerformedActionEvente{//TODOAuto-generatedmethodstubife.getSour__==can__l{this.dispose;}}}ReaderInfo.j__apublicclassReaderInfo{privateStringnumbername___dpt;privateintgrade;//defaultconstructorpublicReaderInfo{}publicReaderInfoStringnumber{this.number=number;}publicReaderInfoStringnumberStringname{this.number=number;this.name=name;}publicReaderInfoStringnumberStringnameString___Stringdptintgrade{this.number=number;this.name=name;this.___=___;this.dpt=dpt;this.grade=grade;}publicStringgetNumber{returnnumber;}publicStringgetName{returnname;}publicStringget___{return___;}publicStringgetDpt{returndpt;}publicintgetGrade{returngrade;}}ReaderRetrieval.j__aimportimportimportimportimportimportimport;importimportclassReaderRetrievalextendsJFrameimplementsActionListener{SQLOperationop=newSQLOperation;Containerc=getContentPane;JPanelp1=newJPanel;JPanelp4=newJPanel;JPanelp5=newJPanel;JLabelreaderNumber=newJLabelReaderNumber:;JLabelreaderName=newJLabelReaderName:;JTextFieldnumber=newJTextField;JTextFieldname=newJTextField;JButtonback=newJButtonBackFresh;JButtonaddReader=newJButtonAddareader;JButtondeleteReader=newJButtonDeleteareader;JButtoneditReader=newJButtonEditareader;JButtonsearch=newJButtonSearchfordetails!;O__ect[]s={NumberName___DepartmentGrade};O__ect[][]ob=newO__ect
[20]
[5];JTabletable=newJTableobs;JScrollPanescrollPane=newJScrollPanetable;Fontfont1=newFont00Font.BOLD20;publicReaderRetrieval{ReaderInforeader=newReaderInfo;op.allReaderreader;ob=op.allReaderreader;forinti=0;i5;i++{DefaultTableModelreaders=newDefaultTableModelobs;forintn=0;n20;n++{forintm=0;m5;m++{ob[n][m]=this.ob[n][m];}table.setModelreaders;table.invalidate;}}search.setFontfont1;c.addp4BorderLayout.NORTH;c.addp1BorderLayout.__NTER;c.addp5BorderLayout.SOUTH;p
4.setLayoutnewGridLayout242010;p
4.addback;p
4.addaddReader;p
4.addeditReader;p
4.adddeleteReader;p
1.setLayoutnull;scrollPane.setBounds00600300;p
1.addscrollPane;p
5.setLayoutnewGridLayout5100;p
5.addreaderNumber;p
5.addnumber;p
5.addreaderName;p
5.addname;p
5.addsearch;addReader.addActionListenerthis;search.addActionListenerthis;back.addActionListenerthis;deleteReader.addActionListenerthis;editReader.addActionListenerthis;}publicvoidactionPerformedActionEvente{ife.getSour__==search{ArrayListStringstrArray=newArrayListString;strArray=op.addReaderJudgement;Strings1=number.getText;Strings2=name.getText;intn=0;intreplicate=0;whilenInteger.parseIntstrArray.get0{n++;ifs
1.equalsstrArray.getn{replicate++;}}ArrayListStringstrArray1=newArrayListString;strArray1=op.addReaderJudgement1;intn1=0;intreplicate1=0;whilen1Integer.parseIntstrArray
1.get0{n1++;ifs
2.equalsstrArray
1.getn1{replicate1++;}}ifreplicate==0replicate1==0{JOptionPane.showMessageDialognullPleaseinputacorrectreadernumberorname!WarningJOptionPane.INFOR__TION_MESSAGE;}elseifreplicate!=0||replicate1!=0{ifreplicate==0replicate1!=0{ReaderInforeader=newReaderInfos1s2;Strings=op.searchReaderByNamereader;ReaderDetailsf=newReaderDetailss;//f.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;f.setTitleReaderDetails;f.setLocation300200;f.setSize480470;f.setVisibletrue;}elseifreplicate!=0{ReaderDetailsf=newReaderDetailss1;//f.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;f.setTitleReaderDetails;f.setLocation300200;f.setSize480470;f.setVisibletrue;}}}ife.getSour__==back{this.dispose;MyFramef=newMyFrame;//f.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;f.setTitleLibrary__nagementSystem;f.setLocation300200;f.setSize580300;f.setVisibletrue;}ife.getSour__==addReader{AddReaderf=newAddReader;//f.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;f.setTitleAddaReader;f.setLocation300200;f.setSize300300;f.setVisibletrue;}ife.getSour__==deleteReader{DeleteReaderf=newDeleteReader;//f.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;f.setTitleDeleteareader;f.setLocation300200;f.setSize300200;f.setVisibletrue;}ife.getSour__==editReader{SelectEditReaderf=newSelectEditReader;//f.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;f.setTitleEditareader;f.setLocation300200;f.setSize300200;f.setVisibletrue;}}}ReturnBook.j__aimportimportimportimportimportimport;importpublicclassReturnBookextendsJFrameimplementsActionListener{SQLOperationop=newSQLOperation;Containerc=getContentPane;JPanelp1=newJPanel;JLabelbookNumber=newJLabelBookNumber:;JTextFieldnumberField=newJTextField;JLabelreaderNumber=newJLabelReaderNumber:;JTextFieldreaderNumberField=newJTextField;JButtoncan__l=newJButtonCan__l;JButtonreturnBook=newJButtonReturn!!;publicReturnBook{c.addp1BorderLayout.NORTH;p
1.setLayoutnewGridLayout322010;p
1.addbookNumber;p
1.addnumberField;p
1.addreaderNumber;p
1.addreaderNumberField;p
1.addcan__l;p
1.addreturnBook;can__l.addActionListenerthis;returnBook.addActionListenerthis;}publicvoidactionPerformedActionEvente{//TODOAuto-generatedmethodstubife.getSour__==can__l{this.dispose;}ife.getSour__==returnBook{StringbookNumber=numberField.getText;ArrayListStringstrArray=newArrayListString;strArray=op.addBookJudgement;intn=0;intreplicate=0;whilenInteger.parseIntstrArray.get0{n++;ifbookNumber.equalsstrArray.getn{replicate++;}}StringreaderNumber=readerNumberField.getText;ArrayListStringstrArray1=newArrayListString;strArray1=op.addReaderJudgement;intn1=0;intreplicate1=0;whilen1Integer.parseIntstrArray
1.get0{n1++;ifreaderNumber.equalsstrArray
1.getn1{replicate1++;}}ifreplicate==0||replicate1==0{JOptionPane.showMessageDialognullPleaseinputacorrectbooknumberandareadernumber!WarningJOptionPane.INFOR__TION_MESSAGE;}else{ifop.returnChecknumberField.getTextreaderNumberField.getText==1{JOptionPane.showMessageDialognullNoresultfound!WarningJOptionPane.INFOR__TION_MESSAGE;}else{BookInfobook=newBookInfobookNumber;ArrayListStrings=newArrayListString;s=op.outputBookbook;BookInfobook1=newBookInfos.get0s.get1s.get2s.get3s.get4s.get5Integer.parseInts.get6Integer.parseInts.get7+1;op.inputBookbook1;ifop.deleteResultnumberField.getTextreaderNumberField.getText==1{JOptionPane.showMessageDialognullReturnthebooksuc__ssful!Suc__ssfulJOptionPane.INFOR__TION_MESSAGE;this.dispose;}else{JOptionPane.showMessageDialognullFailedtoreturnthebook!Unsuc__ssfulJOptionPane.INFOR__TION_MESSAGE;}}}}}}SelectEdit.j__aimportimportimportimportimportpublicclassSelectEditextendsJFrameimplementsActionListener{SQLOperationop=newSQLOperation;BookInfobook=newBookInfo;Containerc=getContentPane;JPanelp1=newJPanel;JLabelbookNumber=newJLabelBookNumber:;JTextFieldnumberField=newJTextField;JButtoncan__l=newJButtonCan__l;JButtonselect=newJButtonSelect!!;publicSelectEdit{c.addp1BorderLayout.NORTH;p
1.setLayoutnewGridLayout222010;p
1.addbookNumber;p
1.addnumberField;p
1.addcan__l;p
1.addselect;can__l.addActionListenerthis;select.addActionListenerthis;}publicvoidactionPerformedActionEvente{//TODOAuto-generatedmethodstubife.getSour__==can__l{this.dispose;}ife.getSour__==select{this.dispose;try{EditBookf=newEditBooknumberField.getText;//f.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;f.setTitleEditabook;f.setLocation300200;f.setSize300400;f.setVisibletrue;}catchEx__ptione2{JOptionPane.showMessageDialognullPleaseinputthebooknumbercorrectly!WarningJOptionPane.INFOR__TION_MESSAGE;//TODO:handleex__ption}}}}SelectEditReader.j__aimportimportimportimportimportpublicclassSelectEditReaderextendsJFrameimplementsActionListener{Containerc=getContentPane;JPanelp1=newJPanel;JLabelreaderNumber=newJLabelReaderNumber:;JTextFieldnumberField=newJTextField;JButtoncan__l=newJButtonCan__l;JButtonselect=newJButtonSelect!!;publicSelectEditReader{c.addp1BorderLayout.NORTH;p
1.setLayoutnewGridLayout222010;p
1.addreaderNumber;p
1.addnumberField;p
1.addcan__l;p
1.addselect;can__l.addActionListenerthis;select.addActionListenerthis;}publicvoidactionPerformedActionEvente{//TODOAuto-generatedmethodstubife.getSour__==can__l{this.dispose;}ife.getSour__==select{this.dispose;try{EditReaderf=newEditReadernumberField.getText;//f.setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;f.setTitleEditareader;f.setLocation300200;f.setSize300300;f.setVisibletrue;}catchEx__ptione2{JOptionPane.showMessageDialognullPleaseinputthereadernumbercorrectly!WarningJOptionPane.INFOR__TION_MESSAGE;//TODO:handleex__ption}}}}SQLOperation.j__aimportimportimportimportimportpublicclassSQLOperation{staticPreparedStatementps=null;staticConnectionct=null;staticResultSetrs=null;publicSQLOperation{try{Class.forName;ct=Driver__nager.getConnectionsa123456;}catchEx__ptione{e.printStackTra__;//TODO:handleex__ption}}publicintlo__heckStringnameStringpassword{inti=0;try{ArrayListStringstrArray=newArrayListString;Stringsql=select*FROM___;PreparedStatementps=ct.prepareStatementsql;//ps.setString1book.getNumber;rs=ps.executeQuery;intcount=0;whilers.next{Strings=rs.getString登录名;strArray.adds;s=rs.getString__;strArray.adds;}ifstrArray.get
0.equalsnamestrArray.get
1.equalspassword{i=1;}}catchEx__ptione{System.out.printlne;}System.out.printi;returni;}publicArrayListaddBookJudgement1{ArrayListStringstrArray=newArrayListString;ArrayListStringstrArray1=newArrayListString;try{Stringsql=select书名FROM图书信息;PreparedStatementps=ct.prepareStatementsql;//ps.setString1book.getNumber;rs=ps.executeQuery;intcount=0;whilers.next{Strings=rs.getString书名;strArray.adds;count++;}strArray.addInteger.toStringcount;for;count=0;count--{strArray
1.addstrArray.getcount;}}catchEx__ptione{System.out.printlne;}returnstrArray1;}publicArrayListaddReaderJudgement1{ArrayListStringstrArray=newArrayListString;ArrayListStringstrArray1=newArrayListString;try{Stringsql=select姓名FROM读者信息;PreparedStatementps=ct.prepareStatementsql;//ps.setString1book.getNumber;rs=ps.executeQuery;intcount=0;whilers.next{Strings=rs.getString姓名;strArray.adds;count++;}strArray.addInteger.toStringcount;for;count=0;count--{strArray
1.addstrArray.getcount;}}catchEx__ptione{System.out.printlne;}returnstrArray1;}publicArrayListaddBookJudgement{ArrayListStringstrArray=newArrayListString;ArrayListStringstrArray1=newArrayListString;try{Stringsql=select编号FROM图书信息;PreparedStatementps=ct.prepareStatementsql;//ps.setString1book.getNumber;rs=ps.executeQuery;intcount=0;whilers.next{Strings=rs.getString编号;strArray.adds;count++;}strArray.addInteger.toStringcount;for;count=0;count--{strArray
1.addstrArray.getcount;}}catchEx__ptione{System.out.printlne;}returnstrArray1;}publicArrayListaddReaderJudgement{ArrayListStringstrArray=newArrayListString;ArrayListStringstrArray1=newArrayListString;try{Stringsql=select编号FROM读者信息;PreparedStatementps=ct.prepareStatementsql;rs=ps.executeQuery;intcount=0;whilers.next{Strings=rs.getString编号;strArray.adds;count++;}strArray.addInteger.toStringcount;for;count=0;count--{strArray
1.addstrArray.getcount;}}catchEx__ptione{System.out.printlne;}returnstrArray1;}publicvoids__eReaderReaderInforeader{try{Stringsql=INSERTINTO读者信息编号姓名性别系名年级VALUES;;PreparedStatementpts=ct.prepareStatementsql;pts.setString1reader.getNumber;pts.setString2reader.getName;pts.setString3reader.get___;pts.setString4reader.getDpt;pts.setInt5reader.getGrade;pts.executeUpdate;}catchEx__ptione{System.out.printlne;}}publicvoids__eBookBookInfobook{try{Stringsql=INSERTINTO图书信息编号书名__出版社出版日期摘要总量现存量VALUES;;PreparedStatementpts=ct.prepareStatementsql;pts.setString1book.getNumber;pts.setString2book.getName;pts.setString3book.getAuthor;pts.setString4book.getPress;pts.setString5book.getPressTime;pts.setString6book.getBookAbstract;pts.setInt7book.getTotal;pts.setInt8book.getRe__in;pts.executeUpdate;}catchEx__ptione{System.out.printe;}}publicStringsearchBookByNameBookInfobook{Strings=null;try{Stringsql=select编号FROM图书信息where书名=;;PreparedStatementps=ct.prepareStatementsql;ps.setString1book.getName;rs=ps.executeQuery;whilers.next{s=rs.getString编号;}}catchEx__ptione{System.out.printlne;}returns;}publicStringsearchReaderByNameReaderInforeader{Strings=null;try{Stringsql=select编号FROM读者信息where姓名=;;PreparedStatementpts=ct.prepareStatementsql;pts.setString1reader.getName;rs=pts.executeQuery;whilers.next{s=rs.getString编号;}}catchEx__ptione{System.out.printlne;}returns;}publicintdeleteBookBookInfobook{try{Stringsql=deleteFROM图书信息where编号=;;PreparedStatementpts=ct.prepareStatementsql;pts.setString1book.getNumber;intcount=pts.executeUpdate;ifcount==1{return1;}else{return0;}}catchEx__ptione{System.out.printlne;return0;}}publicintdeleteReaderReaderInforeader{try{Stringsql=deleteFROM读者信息where编号=;;PreparedStatementpts=ct.prepareStatementsql;pts.setString1reader.getNumber;intcount=pts.executeUpdate;ifcount==1{return1;}else{return0;}}catchEx__ptione{System.out.printlne;return0;}}publicArrayListoutputBookBookInfobook{ArrayListStringstrArray=newArrayListString;try{Stringsql=select*FROM图书信息where编号=;;PreparedStatementps=ct.prepareStatementsql;ps.setString1book.getNumber;rs=ps.executeQuery;whilers.next{Strings=rs.getString编号;strArray.adds;s=rs.getString书名;strArray.adds;s=rs.getString__;strArray.adds;s=rs.getString出版社;strArray.adds;s=rs.getString出版日期;strArray.adds;s=rs.getString摘要;strArray.adds;s=rs.getString总量;strArray.adds;s=rs.getString现存量;strArray.adds;}}catchEx__ptione{System.out.printlne;}returnstrArray;}publicArrayListoutputReaderReaderInforeader{ArrayListStringstrArray=newArrayListString;try{Stringsql=select*FROM读者信息where编号=;;PreparedStatementps=ct.prepareStatementsql;ps.setString1reader.getNumber;rs=ps.executeQuery;whilers.next{Strings=rs.getString编号;strArray.adds;s=rs.getString姓名;strArray.adds;s=rs.getString性别;strArray.adds;s=rs.getString系名;strArray.adds;s=rs.getString年级;strArray.adds;}}catchEx__ptione{System.out.printlne;}returnstrArray;}publicvoidinputBookBookInfobook{ArrayListStringstrArray=newArrayListString;try{Stringsql=update图书信息set书名=__=出版社=出版日期=摘要=总量=现存量=where编号=;;PreparedStatementpts=ct.prepareStatementsql;pts.setString1book.getName;pts.setString2book.getAuthor;pts.setString3book.getPress;pts.setString4book.getPressTime;pts.setString5book.getBookAbstract;pts.setInt6book.getTotal;pts.setInt7book.getRe__in;pts.setString8book.getNumber;pts.executeUpdate;}catchEx__ptione{System.out.printlne;}}publicvoidinputReaderReaderInforeader{try{Stringsql=update读者信息set姓名=性别=系名=年级=where编号=;;PreparedStatementpts=ct.prepareStatementsql;pts.setString1reader.getName;pts.setString2reader.get___;pts.setString3reader.getDpt;pts.setInt4reader.getGrade;pts.setString5reader.getNumber;pts.executeUpdate;}catchEx__ptione{System.out.printlne;}}publicO__ect[][]allBookBookInfobook{O__ect[][]ob=newO__ect
[60]
[8];intn=0;try{Stringsql=select*FROM图书信息;PreparedStatementps=ct.prepareStatementsql;rs=ps.executeQuery;whilers.next{ob[n]
[0]=rs.getString编号;ob[n]
[1]=rs.getString书名;ob[n]
[2]=rs.getString__;ob[n]
[3]=rs.getString出版社;ob[n]
[4]=rs.getString出版日期;ob[n]
[5]=rs.getString摘要;ob[n]
[6]=rs.getString总量;ob[n]
[7]=rs.getString现存量;n++;}}catchEx__ptione{System.out.printlne;}returnob;}publicO__ect[][]allReaderReaderInforeader{O__ect[][]ob=newO__ect
[60]
[5];intn=0;try{Stringsql=select*FROM读者信息;PreparedStatementps=ct.prepareStatementsql;rs=ps.executeQuery;whilers.next{ob[n]
[0]=rs.getString编号;ob[n]
[1]=rs.getString姓名;ob[n]
[2]=rs.getString性别;ob[n]
[3]=rs.getString系名;ob[n]
[4]=rs.getString年级;n++;}}catchEx__ptione{System.out.printlne;}returnob;}publicvoidinsertBorrowStringbookNumberStringreaderNumberStringborrowTimeStringdeadline{try{Stringsql=Insertinto图书借阅图书编号读者编号借阅时间应还时间values;PreparedStatementpts=ct.prepareStatementsql;pts.setString1bookNumber;pts.setString2readerNumber;pts.setString3borrowTime;pts.setString4deadline;pts.executeUpdate;}catchEx__ptione{System.out.printlne;}}publicintreBorrowCheckStringbookNumberStringreaderNumber{inti=0;ArrayListStringstrArray=newArrayListString;try{Stringsql=select*FROM图书借阅where图书编号=and读者编号=;PreparedStatementps=ct.prepareStatementsql;ps.setString1bookNumber;ps.setString2readerNumber;rs=ps.executeQuery;intcount=0;whilers.next{Strings=rs.getString图书编号;strArray.adds;s=rs.getString读者编号;strArray.adds;count++;}System.out.printlnstrArray;ifcount=1{i=1;}}catchEx__ptione{System.out.printlne;}returni;}publicintdeadLineCheckStringreaderNumberlongcurrentTime{inti=0;ArrayListStringstrArray=newArrayListString;try{Stringsql=select*FROM图书借阅where读者编号=;PreparedStatementps=ct.prepareStatementsql;ps.setString1readerNumber;rs=ps.executeQuery;intcount=0;whilers.next{Strings=rs.getString应还时间;strArray.adds;count++;}for;count0;count--{ifLong.parseLongstrArray.getcount-1=currentTime{i++;}}}catchEx__ptione{System.out.printlne;}returni;}publicintreturnCheckStringbookNumberStringreaderNumber{inti=0;ArrayListStringstrArray=newArrayListString;try{Stringsql=select*FROM图书借阅where图书编号=and读者编号=;PreparedStatementps=ct.prepareStatementsql;ps.setString1bookNumber;ps.setString2readerNumber;rs=ps.executeQuery;whilers.next{Strings=rs.getString图书编号;strArray.adds;s=rs.getString读者编号;strArray.adds;}System.out.printlnstrArray;ifstrArray.get0!=bookNumber||strArray.get1!=readerNumber{i=0;}}catchEx__ptione{System.out.printlne;i=1;}System.out.printi;returni;}publicintdeleteResultStringbookNumberStringreaderNumber{try{Stringsql=deleteFROM图书借阅where图书编号=and读者编号=;;PreparedStatementpts=ct.prepareStatementsql;pts.setString1bookNumber;pts.setString2readerNumber;intcount=pts.executeUpdate;ifcount==1{return1;}else{return0;}}catchEx__ptione{System.out.printlne;return0;}}publicO__ect[][]borrowList{DatedateCal=newDate;O__ect[][]ob=newO__ect
[100]
[5];intn=0;try{Stringsql=select*FROM图书借阅;PreparedStatementps=ct.prepareStatementsql;rs=ps.executeQuery;whilers.next{ob[n]
[0]=rs.getString图书编号;ob[n]
[1]=rs.getString读者编号;Strings=dateCal.borrowTimeInte_____Long.parseLongrs.getString借阅时间;ob[n]
[2]=s;longre=Long.parseLongrs.getString应还时间;s=dateCal.borrowTimeInte_____re;ob[n]
[3]=s;longre1=System.currentTimeMillis;ifre1re{ob[n]
[4]=Long.toStringre1-re/86400000+1+Days;}else{ob[n]
[4]=NOT;}n++;}}catchEx__ptione{System.out.printlne;}returnob;}publicO__ect[][]borrowListForReaderStringreaderNumber{DatedateCal=newDate;O__ect[][]ob=newO__ect
[100]
[4];intn=0;try{Stringsql=select*FROM图书借阅where读者编号=;PreparedStatementps=ct.prepareStatementsql;ps.setString1readerNumber;rs=ps.executeQuery;whilers.next{ob[n]
[0]=rs.getString图书编号;Strings=dateCal.borrowTimeInte_____Long.parseLongrs.getString借阅时间;ob[n]
[1]=s;longre=Long.parseLongrs.getString应还时间;s=dateCal.borrowTimeInte_____re;ob[n]
[2]=s;longre1=System.currentTimeMillis;ifre1re{ob[n]
[3]=Long.toStringre1-re/86400000+1+Days;}else{ob[n]
[3]=NOT;}n++;}}catchEx__ptione{System.out.printlne;}returnob;}publicO__ect[][]borrowListForBookStringbookNumber{DatedateCal=newDate;O__ect[][]ob=newO__ect
[100]
[8];intn=0;try{Stringsql=select*FROM图书借阅where图书编号=;PreparedStatementps=ct.prepareStatementsql;ps.setString1bookNumber;rs=ps.executeQuery;whilers.next{ob[n]
[0]=rs.getString读者编号;Strings=dateCal.borrowTimeInte_____Long.parseLongrs.getString借阅时间;ob[n]
[1]=s;longre=Long.parseLongrs.getString应还时间;s=dateCal.borrowTimeInte_____re;ob[n]
[2]=s;longre1=System.currentTimeMillis;ifre1re{ob[n]
[3]=Long.toStringre1-re/86400000+1+Days;}else{ob[n]
[3]=NOT;}n++;}}catchEx__ptione{System.out.printlne;}returnob;}publicintdeleteBookCheckStringbookNumber{inti=0;ArrayListStringstrArray=newArrayListString;try{Stringsql=select*FROM图书借阅;PreparedStatementps=ct.prepareStatementsql;//ps.setString1bookNumber;rs=ps.executeQuery;intcount=0;whilers.next{Strings=rs.getString图书编号;strArray.adds;count++;}for;count0;count--{ifstrArray.getcount-
1.equalsbookNumber{i++;}}}catchEx__ptione{System.out.printlne;}returni;}publicintdeleteReaderCheckStringreaderNumber{inti=0;ArrayListStringstrArray=newArrayListString;try{Stringsql=select*FROM图书借阅;PreparedStatementps=ct.prepareStatementsql;//ps.setString1bookNumber;rs=ps.executeQuery;intcount=0;whilers.next{Strings=rs.getString读者编号;strArray.adds;count++;}for;count0;count--{ifstrArray.getcount-
1.equalsreaderNumber{i++;}}}catchEx__ptione{System.out.printlne;}returni;}}
十、总结经过这段时间的努力基本完成了图书管理系统同时通过这几天的程序及报告编写,把学过的J__a知识运用到了实践我也发现了自己的很多不足,自己知识的很多漏洞,看到了自己的实践经验还是比较缺乏,理论__实际的能力还是比较脆弱尤其是编写大型的程序所要拥有的知识和技能比较缺乏程序编好了,还要经过调试和修改,这步也很关键,好的程序是经过了无数次的修改和调试才产生的我们的程序基本上能够满足要求,但还有一些地方需要改进,在今后我们应该在多看书的同时还要加强实践的练习才能进一步提高自己的编程能力____
[1]王珊萨师煊.《数据库系统概论》.高等教育出版社
2006.5
[2]Y.DannielLiang.《J__a语言程序设计-基础篇》.机械工业出版社,
2011.5
[3]张峋,杨三成.《JSP与JDBC应用详解》.中国铁道出版社,
2010.11。