入库时间
入库是否已完成 备注 input_rutime input_rutype input_beizhu varchar2(50) varchar2(10) varchar2(50) notnull notnull
表5-8入库信息表主要存储已经入库的货物信息,也就是货物信息的详细记录。其中主键是入库编号。由系统自动生成。
表5-9 出库信息表 outputimage
字段描述 出库编号 订单号 产品类别 产品名称 产品所属公司 产品编号 产品条形码 产品箱号 应出库总数量 实际出库数量 单位 出库时间
是否已完全出库 是否已到达目的地 备注
字段名
output_num output_ddnum output_cpleibie output_cpname output_suoshu output_cpnum output_cptiao output_cpxianghao output_yckshuliang output_shijichuku output_danwei output_outtime output_outtype output_mddtype output_beizhu
数据类型 varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(30) varchar2(30) varchar2(10) varchar2(50) varchar2(10) varchar2(10) varchar2(100)
是否为空 notnull notnull notnull notnull notnull notnull notnull notnull notnull notnull notnull notnull notnull notnull
主键 PK
表5-9出库信息表,主要存储出库信息记录。标识货物的状态,是否已经完成出库货物的操作。
表5-10库存信息表 Kucunxinxi
字段描述
入库编号 订单号 产品类别 产品名称 产品所属公司 产品编号 产品条形码 产品箱号 产品数量
字段名
kucun_num kucun_ddnum kucun_leibie kucun_cpname kucun_suoshu kucun_cpnum kucun_tiaoxing kucun_xianghao kucun_cpshuliang
数据类型
varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(50) varchar2(30) varchar2(30)
是否为空
notnull notnull notnull notnull notnull notnull notnull notnull notnull
主键 PK
21
实际入库数量 单位 入库时间 出库数量 备注 kucun_rukushu kucun_danwei kucun_rktime kucun_ckshu kucun_beizhu varchar2(30) varchar2(10) varchar2(50) varchar2(30) varchar2(100) notnull notnull notnull notnull
表5-10库存信息表主要存储已经入库的信息。在这里它是辅助入库信息的记录的,为了达到便于用户查询的目的建立的一张信息表。
22
第6章 系统开发技术介绍
6.1
JAVA开发语言的选择
现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行,使用最多,最为先进的可用作企业级开发语言的产品有:
SUN公司的Java
Microsoft公司的Visual Basic Microsoft公司的Visual C Borland公司的Delphi Powersoft公司的PowerBulider
在目前市场上这些众多的程序开发工具中,有些强调语言的弹性与执行效率;有些偏重于可视化程序开发工具所带来的便利性与效率的提高,各有各的优点和特色,也满足了不同用户的不同需求。我的网站选择Java语言开发,其原因基于以下几点:
Java是一种简单的、面向对象的、分布式的、健壮的、安全的、结构中立的、可移植的、性能很优异的[12]、多线程的、动态的语言。
1. 简单
Java的风格类似于C++,并且摒弃了C++中容易引发程序错误的地方,如指针和内存管理。 此外Java提供了丰富的类库。
2. 面向对象
面向对象可以说是Java最重要的特性。Java语言的设计完全是面向对象的。Java支持静态和动态风格的代码继承及重用。
3. 分布式[14]
Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。
4. 健壮
Java致力于检查程序在编译和运行时的错误。Java自己操纵内存减少了内存出错的可能性。Java提供Null指针检测数组边界、检测异常出口、字节代码校验。
5. 安全
Java的安全性可从两个方面得到保证。一方面,在Java语言里,像指针和释放内存等C++功能被删除,避免了非法内存操作。另一方面,当Java用来创建浏览器时,语言功能和浏览器本身提供的功能结合起来,使它更安全。
6.结构中立
23
为了建立Java作为网络的一个整体,Java将它的程序编译成一种结构中立的中间文件格式。只要有Java运行系统的机器都能执行这种中间代码。Java源程序被编译成一种高层次的与机器无关的byte-code格式语言,这种语言被设计在虚拟机上运行,由机器相关的运行调试器实现执行。
7. 可移植的
Java的可移植性一直是Java程序设计师们的精神指标,也是Java之所以能够受到程序设计师们喜爱的原因之一,最大的功臣就是JVM的技术。JAVA编译器产生的目标代码(J-Code) 是针对一种并不存在的CPU--JAVA虚拟机(JAVA Virtual Machine),而不是某一实际的CPU。JAVA虚拟机能掩盖不同CPU之间的差别,使J-Code能运行于任何具有JAVA虚拟机的机器上。
8. 高性能
Java可以在运行时直接将目标代码翻译成机器指令。Sun用直接解释器一秒钟内可调用300,000个过程。翻译目标代码的速度与C/C++的性能没什么区别。
9. 多线程[16]
Java支持多线程,多线程功能使得在一个程序里可同时执行多个小任务。线程,有时也称小进程,是一个大进程里分出来的小的独立的进程。
10. 动态
Java的动态特性是其面向对象设计方法的发展。它允许程序动态地装入运行过程中所需要的类,这是C++语言进行面向对象程序设计所无法实现的。Java编译器不是将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下传递给解释器,再由解释器在完成动态连接类后,将符号引用信息转换为数值偏移量。
6.2 MVC设计模式描述
MVC[12]是Model-View-Controller的简称,它是一种设计模式,它把应用程序分成三个核心模块:模型、视图、控制器,它们各自处理自己的任务。
视图是用户看到并与之交互的界面,作用包括向用户显示相关的数据、接受用户的输入、向模型查询业务状态、接受模型发出的数据更新事件,从而对用户界面进行同步更新。
模型表示业务数据和业务逻辑,是应用程序的主体部分。一个模型能为多个视图提供数据,因此提高了代码的可重用性。
控制器接受用户的输入并调用模型和视图去完成用户的需求。当Web用户单击Web页面中的递交按钮来发送HTML表单时,控制器本身不输出任何东西和做任何处理。控
24
制器接收请求并决定调用哪个模型组件去处理请求,然后决定调用哪个视图来显示模型处理返回的数据。
MVC的优点表现在如下几个方面:
1.首先,最重要的一点是多个视图能共享一个模型。同一个模型可以被不同的视图重用,大大提高了代码的可重用性。
2.由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能构造良好的松偶合的构件。
3.此外,控制器提高了应用程序的灵活性和可配置性。控制器可以用来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。
MVC处理过程的结构图,见图6-1。
图6-1 MVC模式图
6.3 Struts2,Hibernate技术描述
6.3.1 Struts2描述
Struts2[9] 是目前Java Web MVC框架中不争的王者。Struts2由一组相 协作的类(组件)、Serlvet以及jsp tag lib组成。由于Struts 实质上就是在JSP Model2的基础上实现的一个MVC框架,所以基于struts构架的web应用程序基本上符合JSP Model2即MVC的设计标准。其中的模型是JavaBean,控制器是ActionServlet、
25