课程设计之图书管理系统
一、系统说明
本系统主要是用于对图书馆的读者以及馆内的图书的管理
二、模块说明
读者所有模块
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 exceptione.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 exceptione.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++) {ManagerInfomanagerinfo=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 exceptione.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++) {ManagerInfomanagerinfo=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 exceptione.printStackTrace();return false;}}}
2. 最终运行结果
用户登陆入口:角色可选管理员和读者,用户名及密码通过即可进入
http://dl.iteye.com/upload/attachment/310762/e2f84279-3d5c-3a1d-ace9-e2342be7edbd.png
读者主界面
http://dl.iteye.com/upload/attachment/310764/34854193-ef20-36ef-87eb-60b00f8b98e5.png
管理员主界面
http://dl.iteye.com/upload/attachment/310766/9ffde0ca-55d3-3793-8cb1-eff287e63c54.png
这个系统由于最近比较忙,花的时间也就那么几天,所以也只是实现了一些比较基本的功能
源码在附件中可下载
页:
[1]