zoukankan      html  css  js  c++  java
  • 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需要我们解决。
  • 相关阅读:
    如何使用SAP Intelligent Robotic Process Automation自动操作Excel
    OpenSAML 使用引导 IV: 安全特性
    Spring Cloud Zuul 网关使用与 OAuth2.0 认证授权服务
    微服务架构集大成者—Spring Cloud (转载)
    Spring Cloud Eureka 服务注册列表显示 IP 配置问题
    使用 Notification API 开启浏览器桌面提醒
    SignalR 中使用 MessagePack 序列化提高 WebSocket 通信性能
    配置 Nginx 的目录浏览功能
    关于 Nginx 配置 WebSocket 400 问题
    Migrate from ASP.NET Core 2.0 to 2.1
  • 原文地址:https://www.cnblogs.com/B-hai/p/12169579.html
Copyright © 2011-2022 走看看