• 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需要我们解决。
  • 相关阅读:
    .Net语言 APP开发平台——Smobiler学习日志:Poplist控件在APP中的应用场景以及代码
    C++ STL 之 set 和 pair
    C++ STL 之 list
    安卓开发之数据库事务的使用
    安卓开发之sql语句增删改查2(利用谷歌封装好的API进行增删改查)
    安卓开发之SimpleAdapter的使用
    安卓开发之ArrayAdapter使用
    安卓开发之打气筒的使用
    安卓开发之ListView入门
    安卓开发之sql语句增删改查
  • 原文地址:https://www.cnblogs.com/B-hai/p/12169579.html
Copyright © 2020-2023  润新知