`
xiaodongdong
  • 浏览: 80513 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

课程设计之图书管理系统

阅读更多

 

一、系统说明

本系统主要是用于对图书馆的读者以及馆内的图书的管理

 

二、模块说明

读者所有模块

1.  个人信息管理:

查看个人信息:查看读者自己的个人信息

修改个人信息:修改读者的个人信息,在修改之前必须输入旧密码,防止别人

                       篡改

2.  个人借阅管理:

查找图书:读者可以根据书的ID、书名以及作者对图书进行查询

借阅图书;读者可以借阅图书馆的书目,不在馆的图书不能借况,每本书的借阅期限为30

归还图书:读者可以归还自己所借的图书

借阅统计:统计读者个人所借的书目

管理员所有模块

1.  个人信息管理:

查看个人信息:查看管理员自己的个人信息

修改个人信息:修改管理员的个人信息,在修改之前必须输入旧密码,防止别人篡改

2.  图书信息管理:

已有书目:显示当前图书馆的所有书目

增加图书:增加书目到馆内

修改图书:修改在馆的图书信息

删除图书:删除在馆的图书

3.读者信息管理:

查看已有读者:查看当前已在图书馆内注册的所有读者

增加读者信息:增加一个新读者到馆内

修改读者信息:修改馆内的某一个读者的信息

删除读者信息:删除一个馆内的读者

4.管理员信息管理:

已有管理员:查看当前馆内的已有管理员

添加管理员:添加一个新管理员到馆内(非超级管理员无法操作)

修改管理员:修改某一个管理员的信息(非超级管理员无法操作)

删除管理员:删除一个管理员(非超级管理员无法操作)

 

三、结果显示

1.       部分核心代码

 

 

package cn.zld.dao;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.List;

import cn.zld.pojo.Constants;
import cn.zld.pojo.ManagerInfo;

/**
 * 管理员数据处理
 *
 * @author 张立冬
 * @project:图书管理系统 2010-8-30
 *
 */
public class ManagerDao {

	public static List<ManagerInfo> managers;

	/**
	 * 增加一个新管理员
	 *
	 * @param manager
	 */
	public static boolean registerNewManager(ManagerInfo manager) {
		try {
			if (managers == null) {
				managers = getAllManager();
			}
			for(int i=0;i<managers.size();i++){
				if(managers.get(i).getManagerName().equals(manager.getManagerName())){
					javax.swing.JOptionPane.showMessageDialog(null, "管理员的名字已存在,无法添加!");
					return false;
				}
			}
			managers.add(manager);
			File file = new File(Constants.MANAGERFILEPATH);
			FileOutputStream fout = new FileOutputStream(file);
			// 将文件流转成对象流
			ObjectOutputStream objectOutputStream = new ObjectOutputStream(fout);
			objectOutputStream.writeObject(managers);
			fout.close();
			return true;
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		return false;
	}

	/**
	 * 获取所有的管理员
	 *
	 * @param managers
	 */
	@SuppressWarnings("unchecked")
	public static List<ManagerInfo> getAllManager() {
			managers = new ArrayList<ManagerInfo>();
			ManagerInfo manager=new ManagerInfo();//初始化一个管理员,并使得该管理员为超级管理员
			manager.setManagerName("admin");
			manager.setPwd("admin");
			manager.setId(Constants.ID);
			manager.setAge(20);
			manager.setLevel("超级管理员");
			manager.setSex("男");
			managers.add(manager);
			try {
				File file = new File(Constants.MANAGERFILEPATH);
				if (!file.exists()) {// 初始化文件不存在的话则创建该文件
					System.out.println("文件不存在,创建新初始化文件!");
					file.getParentFile().mkdirs();
					file.createNewFile();
					FileOutputStream fout = new FileOutputStream(file);
					// 将文件流转成对象流,并写入初始化对象
					ObjectOutputStream objectOutputStream = new ObjectOutputStream(
							fout);
					objectOutputStream.writeObject(managers);
				}
				FileInputStream fin = new FileInputStream(file);
				// 将文件流转成对象流
				ObjectInputStream objectOutputStream = new ObjectInputStream(
						fin);
				managers = (List) objectOutputStream.readObject();
				fin.close();
			} catch (Exception e) {
				// TODO: handle exception
				e.printStackTrace();
			}
		return managers;
	}

	/**
	 * 更新管理员的信息
	 *
	 * @param reader:要更新的管理员对象
	 * @return:操作成功返回true,操作失败返回false
	 */
	public static boolean updateManager(ManagerInfo manager) {
		// 对其进行异常处理
		try {
			if (managers == null) {
				managers = getAllManager();
			}
			for (int i=0;i<managers.size();i++) {
				ManagerInfo  managerinfo=managers.get(i);
				if (managerinfo.getId() == manager.getId()) {
					managers.remove(managerinfo);// 将旧对象删除
					managers.add(manager);// 将新对象加入
					File file = new File(Constants.MANAGERFILEPATH);
					FileOutputStream fout = new FileOutputStream(file);
					// 将文件流转成对象流
					ObjectOutputStream objectOutputStream = new ObjectOutputStream(
							fout);
					objectOutputStream.writeObject(managers);
					fout.close();
					managers=getAllManager();
				}
			}
			return true;
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
			return false;
		}
	}

	/**
	 * 删除一个管理员
	 *
	 * @param manager:要删除的管理员对象
	 * @return:操作成功返回true,操作失败返回false
	 */
	public static boolean deleteManager(ManagerInfo manager) {
		// 对其进行异常处理
		try {
			if (managers == null) {
				managers = getAllManager();
			}
			for (int i=0;i<managers.size();i++) {
				ManagerInfo  managerinfo=managers.get(i);
				if (managerinfo.getId() == manager.getId()) {
					managers.remove(managerinfo);// 将旧对象删除
					File file = new File(Constants.MANAGERFILEPATH);
					FileOutputStream fout = new FileOutputStream(file);
					// 将文件流转成对象流
					ObjectOutputStream objectOutputStream = new ObjectOutputStream(
							fout);
					objectOutputStream.writeObject(managers);
					fout.close();
				}
			}
			return true;
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
			return false;
		}
	}
}

 

2.       最终运行结果

用户登陆入口:角色可选管理员和读者,用户名及密码通过即可进入

 

  读者主界面

 

 

 

 管理员主界面



这个系统由于最近比较忙,花的时间也就那么几天,所以也只是实现了一些比较基本的功能

源码在附件中可下载

 

  • 大小: 16 KB
  • 大小: 117.1 KB
  • 大小: 134.9 KB
  • 大小: 28 KB
  • 大小: 174.2 KB
  • 大小: 186.6 KB
分享到:
评论
33 楼 xiaodongdong 2012-07-26  
tomcatyoyo 写道
user里面的文件打开怎么都是乱码啊   改编码格式也不行

因为那是做了特殊处理的啊,只要代码认识就可以,不要人认识,呵呵
32 楼 xiaodongdong 2012-07-26  
wozuipialiang 写道
这个系统没有用到数据库啊    那是用什么保存和读取的数据呢

直接用文件进行存储
31 楼 wozuipialiang 2012-07-04  
这个系统没有用到数据库啊    那是用什么保存和读取的数据呢
30 楼 tomcatyoyo 2011-02-16  
user里面的文件打开怎么都是乱码啊   改编码格式也不行
29 楼 lym6520 2011-01-22  
貌似很不错,哈,以前在学校的时候也用swing做过学生宿舍管理系统,做的比较粗糙,LZ做的不错哦。
28 楼 xiaodongdong 2011-01-22  
pywepe 写道
毕业设计能通过答辩吗?

这个我就不知道了
27 楼 pywepe 2010-12-26  
毕业设计能通过答辩吗?
26 楼 xiaodongdong 2010-10-02  
guo4623009 写道
xiaodongdong 写道
guo4623009 写道
为什么我跑不起来????

你没有引入jar包

。。。我下下来也没看到jar包

在那个LIB下面不是有吗?
25 楼 devworks 2010-09-28  
我觉得使用JSpiltPane分隔左右比较丑
24 楼 cuiran 2010-09-28  
gml520 写道
这个有点像某个培训机构上课教的。 好像记得是什么“满汉楼” 餐饮管理系统。

你这一说提醒了我,刚还看到有这个视频。
23 楼 guo4623009 2010-09-27  
xiaodongdong 写道
guo4623009 写道
为什么我跑不起来????

你没有引入jar包

。。。我下下来也没看到jar包
22 楼 xiaodongdong 2010-09-18  
guo4623009 写道
为什么我跑不起来????

你没有引入jar包
21 楼 xiaodongdong 2010-09-17  
bitray 写道
gml520 写道
这个有点像某个培训机构上课教的。 好像记得是什么“满汉楼” 餐饮管理系统。


ml兄,幸会幸会

啊……有吗?纯原创
20 楼 guo4623009 2010-09-17  
Severity and Description Path Resource Location Creation Time Id
Project libmanagesystem is missing required library: 'D:\Iron\smackclient\src\lib\lookandfeel\substance.jar' libmanagesystem Build path 1284719425509 59
19 楼 guo4623009 2010-09-17  
为什么我跑不起来????
18 楼 bitray 2010-09-17  
gml520 写道
这个有点像某个培训机构上课教的。 好像记得是什么“满汉楼” 餐饮管理系统。


ml兄,幸会幸会
17 楼 gebi23 2010-09-17  
gml520 写道
这个有点像某个培训机构上课教的。 好像记得是什么“满汉楼” 餐饮管理系统。

恩,有点像。。。。。。。。。。。。
16 楼 hunnuxiaobo 2010-09-17  
支持一下!
15 楼 gml520 2010-09-17  
这个有点像某个培训机构上课教的。 好像记得是什么“满汉楼” 餐饮管理系统。
14 楼 ikeycn 2010-09-17  
友情支持一下

相关推荐

Global site tag (gtag.js) - Google Analytics