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需要我们解决。
原文地址:https://www.cnblogs.com/B-hai/p/12169579.html