Java_項(xiàng)目開發(fā)實(shí)例_圖書信息管理系統(tǒng)開發(fā)文檔及源碼_第1頁
Java_項(xiàng)目開發(fā)實(shí)例_圖書信息管理系統(tǒng)開發(fā)文檔及源碼_第2頁
Java_項(xiàng)目開發(fā)實(shí)例_圖書信息管理系統(tǒng)開發(fā)文檔及源碼_第3頁
Java_項(xiàng)目開發(fā)實(shí)例_圖書信息管理系統(tǒng)開發(fā)文檔及源碼_第4頁
Java_項(xiàng)目開發(fā)實(shí)例_圖書信息管理系統(tǒng)開發(fā)文檔及源碼_第5頁
已閱讀5頁,還剩94頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、圖書信息管理系統(tǒng)一、 系統(tǒng)功能概述:根據(jù)圖書信息管理系統(tǒng)的特點(diǎn),可以將本系統(tǒng)分為2大功能模塊,分別為:基礎(chǔ)數(shù)據(jù)維護(hù)、系統(tǒng)數(shù)據(jù)維護(hù)。本系統(tǒng)各個(gè)部分及其包括的具體功能模塊如下圖所示:二、 數(shù)據(jù)庫設(shè)計(jì):圖書信息表:字段名說明類型長度及備注ISBN國際標(biāo)準(zhǔn)書號(hào)Varchar(13)主鍵typeId圖書類型idIntBookname書名Varchar(40)Writer作者Varchar(21)Translater譯者Varchar(30)可以為空Publisher出版社Varchar(50)Date出版日期SmalldatetimePrice價(jià)格money圖書類別表:字段名說明類型長度及備注TypeN

2、ame圖書類型Varchar(20)Id自動(dòng)編號(hào)Int主鍵用戶信息表:字段名說明類型長度及備注Id自動(dòng)編號(hào)Int主鍵Name姓名Varchar(2)Sex性別Varchar(2)Age年齡intIdentitycard證件號(hào)碼Varchar(2)Workdate辦證日期datetimeTel電話號(hào)碼Varchar(2)Yajin押金IntPassword密碼Nvarchar(10)admin管理員Nchar(10)讀者信息表:字段名說明類型長度及備注Name姓名Varchar(10)Sex性別Varchar(2)Age年齡intidentityCard證件號(hào)碼Varchar(30)Date日期

3、SmalldatetimemanNum最大書量IntTel電話號(hào)碼Varchar(15)keepMoney押金MineyZj證件類型IntZy職業(yè)Varchar(50)ISBN國際標(biāo)準(zhǔn)書號(hào)Varchar(13)bztime辦證時(shí)間datetime三、 系統(tǒng)源代碼:Com.zhang.dao:Dao.java /數(shù)據(jù)庫的連接與操作類package com.zhang.dao;import java.sql.Connection;import java.sql.Date;import java.sql.DriverManager;import java.sql.ResultSet;import j

4、ava.sql.SQLException;import java.util.ArrayList;import java.util.List;import com.zhang.model.BookInfo;import com.zhang.model.BookType;import com.zhang.model.Operator;import com.zhang.model.Reader;import com.zhang.model.User;public class Dao protected static String dbClassName = com.microsoft.sqlserv

5、er.jdbc.SQLServerDriver;protected static String dbUrl = jdbc:sqlserver:/localhost:1433;+ DatabaseName=db_lib;SelectMethod=Cursor;protected static String dbUser = sa;protected static String dbPwd = zhangyong;protected static String second = null;private static Connection conn = null;/創(chuàng)建數(shù)據(jù)庫連接private D

6、ao() try if (conn = null) Class.forName(dbClassName).newInstance();conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);System.out.println(數(shù)據(jù)庫連接成功!);elsereturn; catch (Exception ee) ee.printStackTrace();/執(zhí)行查詢private static ResultSet executeQuery(String sql) try if(conn=null)new Dao();return conn

7、.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery(sql); catch (SQLException e) e.printStackTrace();return null; finally /執(zhí)行更新private static int executeUpdate(String sql) try if(conn=null)new Dao();return conn.createStatement().executeUpdate(sql); catch (SQLExc

8、eption e) System.out.println(e.getMessage();/if(e.getMessage().equals(MicrosoftSQLServer 2000 Driver for JDBCSQLServerDELETE 語句與 COLUMN REFERENCE 約束 FK_TB_BORRO_REFERENCE_TB_BOOKI 沖突。該沖突發(fā)生于數(shù)據(jù)庫 db_library,表 tb_borrow, column bookISBN。)return -1; finally /關(guān)閉數(shù)據(jù)庫public static void close() try conn.close

9、(); catch (SQLException e) e.printStackTrace();finallyconn = null;/* * 管理員登錄方法 */public static Operator check(String name, String password) int i = 0;Operator operater=new Operator();String sql = select * from tb_operator where name= + name+ and password= + password + and admin=1;ResultSet rs = Dao.

10、executeQuery(sql);try while (rs.next() String names = rs.getString(1);operater.setId(rs.getString(id);operater.setName(rs.getString(name);operater.setGrade(rs.getString(admin);operater.setPassword(rs.getString(password);if (names != null) i = 1; catch (Exception e) e.printStackTrace();Dao.close();re

11、turn operater;/* * 查詢類別方法 */查詢圖書目錄public static List selectBookCategory() List list=new ArrayList();String sql = select * from tb_bookType;ResultSet rs = Dao.executeQuery(sql);try while (rs.next() BookType bookType=new BookType();bookType.setId(rs.getString(id);bookType.setTypeName(rs.getString(type

12、Name);list.add(bookType); catch (Exception e) e.printStackTrace();Dao.close();return list;public static List selectBookCategory(String bookType) List list=new ArrayList();String sql = select days from tb_bookType where typeName=+bookType+;ResultSet rs = Dao.executeQuery(sql);try while (rs.next() Boo

13、kType type=new BookType();type.setDays(rs.getString(days);list.add(type); catch (Exception e) e.printStackTrace();Dao.close();return list;/* * 圖書類別表相關(guān)操作 * */插入圖書類型public static int InsertBookType(String bookTypeName)int i=0;tryString sql=insert into tb_bookType(typeName) values(+bookTypeName+);i=Dao

14、.executeUpdate(sql);catch(Exception e)e.printStackTrace();return i;/更新圖書類別public static int UpdatebookType(String id,String typeName)int i=0;tryString sql=update tb_bookType set typeName=+typeName+ where id=+id+;/System.out.println(sql);i=Dao.executeUpdate(sql);catch(Exception e)e.printStackTrace();

15、Dao.close();return i;/刪除圖書類別public static int DelbookType(String id)int i=0;tryString sql=delete from tb_bookType where id=+id+;/System.out.println(sql);i=Dao.executeUpdate(sql);catch(Exception e)e.printStackTrace();Dao.close();return i;/* * 圖書信息表相關(guān)操作 */* * 插入圖書信息方法 */插入圖書信息public static int Insertb

16、ook(String ISBN,String typeId,String bookname,String writer,String translator,String publisher,Date date,Double price)int i=0;tryString sql=insert into tb_bookInfo(ISBN,typeId,bookname,writer,translator,publisher,date,price) values(+ISBN+,+typeId+,+bookname+,+writer+,+translator+,+publisher+,+date+,

17、+price+);/System.out.println(sql);i=Dao.executeUpdate(sql);catch(Exception e)System.out.println(e.getMessage();Dao.close();return i;/* * 查詢圖書相關(guān)信息 * */public static List selectBookInfo() List list=new ArrayList();String sql = select * from tb_bookInfo;ResultSet rs = Dao.executeQuery(sql);try while (r

18、s.next() BookInfo bookinfo=new BookInfo();bookinfo.setISBN(rs.getString(ISBN);bookinfo.setTypeid(rs.getString(typeid);bookinfo.setBookname(rs.getString(bookname);bookinfo.setWriter(rs.getString(writer);bookinfo.setTranslator(rs.getString(translator);bookinfo.setPublisher(rs.getString(publisher);book

19、info.setDate(rs.getDate(date);bookinfo.setPrice(rs.getDouble(price);list.add(bookinfo); catch (Exception e) e.printStackTrace();Dao.close();return list;public static List selectBookInfo(String ISBN) List list=new ArrayList();String sql = select * from tb_bookInfo where ISBN=+ISBN+;ResultSet rs = Dao

20、.executeQuery(sql);try while (rs.next() BookInfo bookinfo=new BookInfo();bookinfo.setISBN(rs.getString(ISBN);bookinfo.setTypeid(rs.getString(typeid);bookinfo.setBookname(rs.getString(bookname);bookinfo.setWriter(rs.getString(writer);bookinfo.setTranslator(rs.getString(translator);bookinfo.setPublish

21、er(rs.getString(publisher);bookinfo.setDate(rs.getDate(date);bookinfo.setPrice(rs.getDouble(price);list.add(bookinfo); catch (Exception e) e.printStackTrace();Dao.close();return list;/* * 修改圖書信息方法 */更新圖書信息public static int Updatebook(String ISBN,String typeId,String bookname,String writer,String tra

22、nslator,String publisher,Date date,Double price)int i=0;tryString sql=update tb_bookInfo set ISBN=+ISBN+,typeId=+typeId+,bookname=+bookname+,writer=+writer+,translator=+translator+,publisher=+publisher+,date=+date+,price=+price+ where ISBN=+ISBN+;/System.out.println(sql);i=Dao.executeUpdate(sql);cat

23、ch(Exception e)e.printStackTrace();Dao.close();return i;/*/ * 刪除圖書信息方法/ */public static int Delbook(String ISBN)int i=0;tryString sql=delete from tb_bookInfo where ISBN=+ISBN+;/System.out.println(sql);i=Dao.executeUpdate(sql);catch(Exception e)e.printStackTrace();Dao.close();return i;/* * 對(duì)讀者信息表執(zhí)行的相

24、關(guān)操作 */增加讀者信息public static int InsertReader(String name,String sex,String age,String identityCard,Date date,String maxNum,String tel,Double keepMoney,String zj,String zy,Date bztime,String ISBN)int i=0;tryString sql=insert into tb_reader(name,sex,age,identityCard,date,maxNum,tel,keepMoney,zj,zy,bztim

25、e,ISBN) values(+name+,+sex+,+age+,+identityCard+,+date+,+maxNum+,+tel+,+keepMoney+,+zj+,+zy+,+bztime+,+ISBN+);System.out.println(sql);i=Dao.executeUpdate(sql);catch(Exception e)e.printStackTrace();Dao.close();return i;public static List selectReader() List list=new ArrayList();String sql = select *

26、from tb_reader;ResultSet rs = Dao.executeQuery(sql);try while (rs.next() Reader reader=new Reader();/reader.setId(rs.getString(id);reader.setName(rs.getString(name);reader.setSex(rs.getString(sex);reader.setAge(rs.getString(age);reader.setIdentityCard(rs.getString(identityCard);reader.setDate(rs.get

27、Date(date);reader.setMaxNum(rs.getString(maxNum);reader.setTel(rs.getString(tel);reader.setKeepMoney(rs.getDouble(keepMoney);reader.setZj(rs.getInt(zj);reader.setZy(rs.getString(zy);reader.setISBN(rs.getString(ISBN);reader.setBztime(rs.getDate(bztime);list.add(reader); catch (Exception e) e.printSta

28、ckTrace();Dao.close();return list;public static List selectReader(String readerISBN) List list=new ArrayList();String sql = select * from tb_reader where ISBN=+readerISBN+;ResultSet rs = Dao.executeQuery(sql);try while (rs.next() Reader reader=new Reader();reader.setName(rs.getString(name);reader.se

29、tSex(rs.getString(sex);reader.setAge(rs.getString(age);reader.setIdentityCard(rs.getString(identityCard);reader.setDate(rs.getDate(date);reader.setMaxNum(rs.getString(maxNum);reader.setTel(rs.getString(tel);reader.setKeepMoney(rs.getDouble(keepMoney);reader.setZj(rs.getInt(zj);reader.setZy(rs.getStr

30、ing(zy);reader.setISBN(rs.getString(ISBN);reader.setBztime(rs.getDate(bztime);list.add(reader); catch (Exception e) e.printStackTrace();Dao.close();return list;/更新讀者信息public static int UpdateReader(String id,String name,String sex,String age,String identityCard,Date date,String maxNum,String tel,Dou

31、ble keepMoney,String zj,String zy,Date bztime,String ISBN)int i=0;tryString sql=update tb_reader set name=+name+,sex=+sex+,age=+age+,identityCard=+identityCard+,date=+date+,maxNum=+maxNum+,tel=+tel+,keepMoney=+keepMoney+,zj=+zj+,zy=+zy+,bztime=+bztime+where ISBN=+ISBN+;i=Dao.executeUpdate(sql);catch

32、(Exception e)e.printStackTrace();Dao.close();return i;/刪除讀者信息public static int DelReader(String ISBN)int i=0;tryString sql=delete from tb_reader where ISBN=+ISBN+;/System.out.println(sql);i=Dao.executeUpdate(sql);catch(Exception e)e.printStackTrace();Dao.close();return i;/newpublic static List selec

33、tbookserch() List list=new ArrayList();String sql = select * from tb_bookInfo;ResultSet s = Dao.executeQuery(sql);try while (s.next() BookInfo bookinfo=new BookInfo();bookinfo.setISBN(s.getString(1);bookinfo.setTypeid(s.getString(2);bookinfo.setBookname(s.getString(3);bookinfo.setWriter(s.getString(

34、4);bookinfo.setTranslator(s.getString(5);bookinfo.setPublisher(s.getString(6);bookinfo.setDate(s.getDate(7);bookinfo.setPrice(s.getDouble(8);list.add(bookinfo); catch (Exception e) e.printStackTrace();Dao.close();return list;/插入管理員public static int Insertoperator(String name,String sex,int age,Strin

35、g identityCard,Date workdate,String tel,String password,int yajin)int i=0;tryString sql=insert into tb_operator(name,sex,age,identityCard,workdate,tel,password,yajin) values(+name+,+sex+,+age+,+identityCard+,+workdate+,+tel+,+password+,+yajin+);System.out.println(sql);i=Dao.executeUpdate(sql);catch(

36、Exception e)e.printStackTrace();Dao.close();return i;public static List selectuser() List list=new ArrayList();String sql = select id,name,sex,age,yajin,workdate,tel,password from tb_operator where admin=0;ResultSet rs = Dao.executeQuery(sql);try while (rs.next() User user=new User();user.setId(rs.g

37、etInt(1);user.setName(rs.getString(2);user.setSex(rs.getString(3);user.setAge(rs.getInt(4);/user.setIdentityCard(rs.getString(5);user.setYajin(rs.getInt(5);user.setWorkdate(rs.getDate(6);user.setTel(rs.getString(7);user.setPassword(rs.getString(8);list.add(user); catch (Exception e) e.printStackTrac

38、e();Dao.close();return list;/刪除用戶public static int Deluser(int id)int i=0;tryString sql=delete from tb_operator where id=+id+;/System.out.println(sql);i=Dao.executeUpdate(sql);catch(Exception e)e.printStackTrace();Dao.close();return i;public static int Updateuser(int id,String name,String sex,int ag

39、e,String identityCard,Date workdate,String tel,String password)int i=0;tryString sql=update tb_operator set name=+name+,sex=+sex+,age=+age+,identityCard=+identityCard+,workdate=+workdate+,tel=+tel+,password=+password+ where id=+id+;i=Dao.executeUpdate(sql);catch(Exception e)e.printStackTrace();Dao.c

40、lose();return i;public static int Updatepass(String password,String name)int i=0;tryString sql=update tb_operator set password=+password+ where name=+name+;i=Dao.executeUpdate(sql);catch(Exception e)e.printStackTrace();Dao.close();return i;Com.zhang.iframe:/窗體包BookAddIFrame.java /圖書信息添加package com.z

41、hang.iframe;import java.awt.BorderLayout;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.SystemColor;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.FocusAdapter;import java.awt.event.FocusEvent;import java.

42、awt.event.KeyAdapter;import java.awt.event.KeyEvent;import .URL;import java.text.SimpleDateFormat;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.swing.DefaultComboBoxModel;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JComboBox;i

43、mport javax.swing.JFormattedTextField;import javax.swing.JInternalFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;import javax.swing.SwingConstants;import javax.swing.border.EmptyBorder;import javax.swing.border.LineBorder;import

44、 com.zhang.util.Item;import com.zhang.dao.Dao;import com.zhang.model.BookType;import com.zhang.util.MyDocument;import com.zhang.util.CreateIcon;/* * 名稱:圖書添加窗體 * */public class BookAddIFrame extends JInternalFrame private JTextField publisher;private JTextField price;private JFormattedTextField pubDa

45、te;private JTextField translator;private JTextField writer;private JTextField ISBN;private JTextField bookName;private JComboBox bookType;private JButton buttonadd;private JButton buttonclose;DefaultComboBoxModel bookTypeModel;Map map=new HashMap();public BookAddIFrame() super();final BorderLayout b

46、orderLayout = new BorderLayout();getContentPane().setLayout(borderLayout);setIconifiable(true);/ 設(shè)置窗體可最小化必須setClosable(true);/ 設(shè)置窗體可關(guān)閉必須setTitle(圖書信息添加);/ 設(shè)置窗體標(biāo)題必須setBounds(100, 100, 396, 260);/ 設(shè)置窗體位置和大小必須final JPanel panel = new JPanel();panel.setBorder(new EmptyBorder(5, 10, 5, 10);final GridLayo

47、ut gridLayout = new GridLayout(0, 4);gridLayout.setVgap(5);gridLayout.setHgap(5);panel.setLayout(gridLayout);getContentPane().add(panel);final JLabel label_2 = new JLabel();label_2.setText(圖書編號(hào):);panel.add(label_2);ISBN = new JTextField(請(qǐng)輸入13位書號(hào),13);ISBN.setDocument(new MyDocument(13); /設(shè)置書號(hào)文本框最大輸入值

48、為13ISBN.setColumns(13);ISBN.addKeyListener(new ISBNkeyListener();ISBN.addFocusListener(new ISBNFocusListener();panel.add(ISBN);final JLabel label = new JLabel();label.setHorizontalAlignment(SwingConstants.CENTER);label.setText(類別:);panel.add(label);bookType = new JComboBox();bookTypeModel= (DefaultComboBoxModel)bookType.getModel();/從數(shù)據(jù)庫中取出圖書類別List list=Dao.selectBookCategory();for(int i=0;ilist.size();i+)BookType booktype=(BookType)list.get(i);Item item=new Item();item.setId(String)booktype.getId();item.setName(String)booktype.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論