Java課程設計——圖書管理系統


Java課程設計——圖書管理系統

1.成員及其任務分配

1.1成員

組長:翁凌濤
組員:白海檳,郭坤

1.2任務分配

翁凌濤:借書功能,查書功能,用戶數據庫及注冊
白海檳:圖書管理系統Book類,BookDao類,博客,查書功能的前期編寫
郭坤:  GUI設計,制作背景圖及按鍵圖,ppt

2.前期調查



前期是一份由文本儲存的圖書管理系統,並且功能實現很少,后期我們使用數據庫來進行對數據的存儲。
使用數據庫會使得數據的讀取存儲加快,並且加強對數據庫的使用

3.項目功能架構圖,功能流程圖

數據流圖:

圖書和用戶:

圖書管理層次圖:

圖書管理系統程序流程圖:

4.面向對象包圖,類圖及其結果圖:






5.項目關鍵代碼

/**
 * 圖書信息行為控制類,包含增加圖書、刪除圖書
 * 、 修改圖書、和初始化個人書庫管理窗體表格
 * 
 * 
 */
public class BookController {
	
 
        
	/**
	 * 初始化窗體表格
	 * @return
	 * 		results
	 */
	@SuppressWarnings("rawtypes")
	public Object[][] initializTable(String[] columnNames) throws Exception{
		BookDao bookDao = new BookDao();
		List list = bookDao.query();
		Object[][] results = new Object[list.size()][columnNames.length];
		
		for(int i = 0; i < list.size(); i++) {
			Book book = (Book)list.get(i);				
	
			results[i][0] = book.getID();
			results[i][1] = book.getBookName();
			results[i][2] = book.getAuthor();
			results[i][3] = book.getPrice();
			results[i][4] = book.getISBN();
			results[i][5] = book.getPublishHouse();
			results[i][6] = book.getBookCategory();	
	        results[i][7] = book.getCount();
		}	   	
		return results;
}
	public Object[][] initializTable(String[] columnNames,String seekData) throws Exception{
		BookDao bookDao = new BookDao();
		List list = bookDao.query();
		
		
		int j=0;
	   for(int i =0 ;i<list.size();i++) {
		   Book book = (Book)list.get(i);
		   if(book.getBookName().indexOf(seekData)!=-1) {
			   j++;
		   }
	   }
	   Object[][] results = new Object[j][columnNames.length];
	   j=0;
		for(int i = 0; i < list.size(); i++) {
			Book book = (Book)list.get(i);	
	      if(book.getBookName().indexOf(seekData)!=-1) {
		    results[j][0] = book.getID();
			results[j][1] = book.getBookName();
			results[j][2] = book.getAuthor();
			results[j][3] = book.getPrice();
			results[j][4] = book.getISBN();
			results[j][5] = book.getPublishHouse();
			results[j][6] = book.getBookCategory();	
	        results[j][7] = book.getCount();
		   
			j++;
	   }
			
	}	   	
		return results;
}
	
 	/**
 	 * 添加圖書信息
 	 */
	public void addBookInformation (JTextField textFieldISBN, JTextField textFieldName
			,JTextField textFieldPrice, JTextField textFieldAuthor, JTextField textFieldPublishedHouse
			, JTextField textFieldBookCategory,JTextField textFieldCount
			) throws Exception {
	
        BookDao bookDao=new BookDao();
        Book book=new Book();     
        
        book.setISBN(textFieldISBN.getText());      
        book.setBookName(textFieldName.getText());
        float price = Float.parseFloat(textFieldPrice.getText());
        book.setPrice(price);
        book.setAuthor(textFieldAuthor.getText());
        book.setPublishHouse(textFieldPublishedHouse.getText());
        book.setBookCategory(textFieldBookCategory.getText());
        book.setCount(Integer.parseInt(textFieldCount.getText()));
        
        
        //添加圖書
        bookDao.addBook(book);
	}
	
	

	/**
	 * 刪除圖書信息
	 */
	public void delBookInformation (JTable table) throws Exception {
	
		int selRow = table.getSelectedRow();
		int ID = Integer.parseInt(table.getValueAt(selRow, 0).toString());
		
        BookDao bookDao=new BookDao();
        Book book=new Book();     
        
        book.setID(ID);
   
        // 刪除圖書信息
        bookDao.delBook(ID);
	}
	
	
	/**
	 * 修改圖書信息
	 */
	public void changeBookInformation (JTextField textFieldISBN, JTextField textFieldName
			,JTextField textFieldPrice, JTextField textFieldAuthor, JTextField textFieldPublishedHouse
			, JTextField textFieldBookCategory, JTextField textFieldCount,
			 JTable table) throws Exception{
		
        BookDao bookDao=new BookDao();
        Book book=new Book();     
       
		int selRow = table.getSelectedRow();
		int ID = Integer.parseInt(table.getValueAt(selRow, 0).toString());	
        book.setID(ID);
        
        book.setISBN(textFieldISBN.getText());      
        book.setBookName(textFieldName.getText());
        book.setAuthor(textFieldAuthor.getText());
        float price = Float.parseFloat(textFieldPrice.getText());
        book.setPrice(price);
        book.setPublishHouse(textFieldPublishedHouse.getText());
        book.setBookCategory(textFieldBookCategory.getText());
        book.setCount(Integer.parseInt(textFieldCount.getText()));
        //修改圖書
        bookDao.changeBook(book);       
	}
	
	
}

6.項目總結

1.本次數據庫設計團隊合作,成員之間的配合很關鍵。代碼要寫規范才能便於成員之間的理解。
2. java課設相對於平時的學習有很大提升,涉及到數據庫的知識,需要組員相互學習相互幫助。
3. 在設計代碼的途中遇到了許多困難,有時候會出現很多bug需要我們解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM