项目01——图书进、销、存(jxc)系统(单机版)

本文详细介绍了使用Java Swing和MVC模式开发的一个图书进销存系统,包括用户管理、图书管理、进货、销售和库存等功能。系统采用分层架构,涉及DAO、Business和Presentation层的交互。重点讨论了数据表设计、分包规则、值对象模式以及各层代码的编写示例,如User模块的实现。此外,还提到了日期处理、序列化、Swing应用和权限控制等关键点。
摘要由CSDN通过智能技术生成

首先,在此我想感谢 私塾在线 的 wb 老师!
图书的(jxc)系统是我一边看wb老师的在线视频课,一边跟着做出来的项目。本博客是我的一点小小心得。

Ⅰ 内容和目标简介
本系统主要包含用户、图书、进货、销售和库存五个模块,界面采用Swing,后台采用MVC模式,主要实现功能如下:
(1)能进行操作用户的注册、登录、删除、查询和信息修改。
(2)能实现对图书基本信息的增删改查
(3)能填写进货单,一张进货单包含多条具体的货物明细,进货的书籍必须是图书数据库中已经存在的,进货的同时修改库存信息
(4)能填写销售单,一张销售单包含多条具体销售信息,销售的书籍必须是图书数据库中已经存在的,销售数量不能超过当前库存的数量,销售的同时修改库存信息
(5)对于库存,可以查看明细,可以按照条件查询某书的库存值
(6)权限方面做固定的权限控制。

Ⅱ 数据库表的设计
分为用户、图书、进货、销售和库存5个模块。

这里写图片描述
这里写图片描述
这里写图片描述

注意:每一条进货人明细都对应着多条进货书籍明细。

这里写图片描述
这里写图片描述

注意:每一个销售人明细都对应着多条销售书籍明细。

这里写图片描述
这里写图片描述

注意:表的设计过程中,要注意主键和外键。

Ⅲ 分层、分包,系统的整个框架的搭建:
–》新建java项目,组织名cn.javass , 项目名 jxc ,之后的分包规则:
这里写图片描述
整个系统的框架如上图所示:
(1)panels层调用business,business层调用dao层,三层之间model的传递用vo封装。所以,我们可以在编码的时候先写vo层,再写dao层,接着写business层,最后在panels层中调用逻辑层。
(2)界面和ebi交互,ebi中的接口负责为界面组织提供数据,界面所需要的所有数据都是ebi提供的。但ebi只是接口声明,具体实现在ebo中实现。
(3)dao层会提供最基本的增删改查实现,提供与数据库的联系。同样,dao.dao中只是接口声明,dao.Impl中主要实现接口。逻辑层在调用数据层的时候,对于简单的增删改查,ebo直接转发dao即可,如果ebo需要组织更为复杂的数据给界面,则可以直接通过操作QueryModel来实现对数据的组织。
(4)数据层主要利用vo的model实现增删改查,Ebo中主要负责为界面组织所需要的数据。
Ⅳ 接下来,我来总结User层的代码的示例写法:
1.vo层
(1)关于值对象模式 :每一个模块对应一个Model类,描述这个类的属 性都作为这个类的filed
(2)对应的get和set方法
(3)用主键来重写equals和hascode
(4)实现可序列化
(5)重写toString()方法,方便按照需要的格式显示各字段的值。
(6)用UserQueryModel.java来传model,而不是采用UserModel.java来传model.好处是当字段中包含范围值时,采用UserModel.java不方便处理。
—-》 eg: UserModel.java

package cn.javass.jxc.user.vo;
import java.io.Serializable;

public class UserModel implements Serializable {

private String uuid;
private String name;
private String pwd;

public String getUuid() {
    return uuid;
}
public void setUuid(String uuid) {
    this.uuid = uuid;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getPwd() {
    return pwd;
}
public void setPwd(String pwd) {
    this.pwd = pwd;
}
public int getType() {
    return type;
}
public void setType(int type) {
    this.type = type;
}

@Override
public int hashCode() {
    final int prime = 31;
    int result = 1;
    result = prime * result + ((uuid == null) ? 0 : uuid.hashCode());
    return result;
}

@Override
public boolean equals(Object obj) {
    if (this == obj)
        return true;
    if (obj == null)
        return false;
    if (getClass() != obj.getClass())
        return false;
    UserModel other = (UserModel) obj;
    if (uuid == null) {
        if (other.uuid != null)
            return false;
    } else if (!uuid.equals(other.uuid))
        return false;
    return true;
}

@Override
public String toString() {
    return " [" + uuid + ", " + name + ", " + type+ ", " + pwd + "]";
}

}
//—-》用一个包含范围值的来作为实例:
——》InMainQueryModel.java
package cn.javass.jxc.in.vo;

public class InMainQueryModel extends InMainModel {
//用来传有范围的查询条件,遇到范围值就2一下,再将InMainQueryModel传给dao层

图书馆管理系统使用说明书 配置源程序 附加数据库SQL Server 2000 (1)将TM\05\Database文件夹中的扩展名为db_library_Data.MDF和db_library_Log.LDF的两个文件拷贝到SQL Server安装路径下的Data文件夹中。 (2)打开SQL Server 2000中的“企业管理器”,然后展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“所有任务”/“附加数据库”菜单项。 (3)将弹出“附加数据库”对话框,在该对话框中单击【 】按钮,选择所要附加数据库的db_library_Data.MDF文件,单击【确定】按钮,即可完成数据库的附加操作。 发布与运行 (1)将光盘\TM\05\libraryManager文件夹拷贝到MyEclipse的工作空间中。 (2)启动MyEclipse。 (3)选择“文件”/“导入”菜单项,展开“常规”节点,选择“现有项目到工作空间中”子节点,如图1.1所示。 图1.1 “导入”窗口 (4)单击【下一步】按钮,单击【浏览】按钮,选择程序所在目录,然后勾选“将项目复制到工作空间中”复选框,如图1.2所示。 图1.2 “导入”窗口 (5)单击【完成】按钮。 (6)在项目上单击鼠标右键,依次选择“新建”/“文件夹”命令,新建一个“lib”文件夹,然后,将SQL Server 2000数据库驱动文件“msbase.jar、mssqlserver.jar、msutil.jar”拷到该文件夹中。在该文件上单击鼠标右键,选择“构建路径”/“添加至构建路径”命令。 (7)在导入工程的src文件中,找到可执行的主类,在该类上单击鼠标右键,选择“运行方式”/“Java应用程序”项,如图1.3所示,完成程序配置 图1.3 选择菜单项 使用说明 系统介绍 图书馆管理系统图书馆管理工作中不可缺少的部分,它对于图书馆的管理者和使用者都非常重要,所以图书馆管理系统应该为管理者与读者提供充足的信息和快捷的数据处理手段,但长期以来,人们使用传统的人工方式或性能较低的图书馆管理系统管理图书馆的日常事务,操作流程比较繁琐。一个成功的图书馆管理系统应提供快速的图书信息检索功能、快捷的图书借阅、归还流程。从读者与图书馆管理员的角度出发,本着以读者借书、还书快捷、方便的原则,本系统具有以下特点:  确保系统具有良好的系统性能,友好的用户界面。  较高的处理效率,便于使用和维护。  采用成熟技术开发,使系统具有较高的技术水平和较长的生命周期。  系统尽可能简化图书馆管理员的重复工作,提高工作效率。  简化数据查询、统计难度。 操作注意事项 (1)本系统管理员用户名为:tsoft,密码为:111。 (2)图书类别信息和图书信息是不可以删除的。 操作流程 (1)用户输入用户名及密码,单击“登录”按钮,图书馆管理界面,如图1.4所示。 图1.4 图书馆管理主界面 (2)单击“基础数据维护”菜单下的“读者信息管理”/“读者信息添加”命令,对读者信息行添加操作。 (3)单击“基础数据维护”菜单下的“读者信息管理”/“读者修改与删除”命令,对读者信息行修改及删除操作。 (4)单击“基础数据维护”菜单下的“图书类别管理”/“图书类别添加”命令,对图书类别信息行添加操作。 (5)单击“基础数据维护”菜单下的“图书类别管理”/“图书类别修改”命令,对图书类别信息行修改操作。 (6)单击“基础数据维护”菜单下的“图书信息管理”/“图书信息添加”命令,对图书信息行添加操作。 (7)单击“基础数据维护”菜单下的“图书信息管理”/“图书修改”命令,对图书信息行查询及修改操作。 (8)单击“新书订购管理”菜单下的“新书订购”命令,对订购新书信息行添加操作。 (9)单击“新书订购管理”菜单下的“验收新书”命令,对订购的新书信息行验收操作。 (10)单击“借阅管理”菜单下的“图书借阅”命令,对图书借阅信息行添加操作。 (11)单击“借阅管理”菜单下的“图书归还”命令,对图书归还信息行添加操作。 (12)单击“借阅管理”菜单下的“图书搜索”命令,对图书信息行查询操作。 (13)单击“系统维护”菜单下的“更改口令”命令,对当前管理员的密码行修改操作。 (14)单击“系统维护”菜单下的“用户管理”/“用户添加”命令,对用户信息行添加操作。 (15)单击“系统维护”菜单下的“用户管理”/“用户修改与删除”命令,对用户信息行修改及删除操作。 (16)单击“基础数据维护”菜单下的“退出系统”命令,退出当前操作系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值