1、目 录1 绪论 .11.1 开发背景 11.2 开发目的及意义 11.3 主要研究内容及设计思路 12 系统总体说明 .22.1 使用环境 22.2 系统主要功能 22.3 系统主要特点 23 开发环境与相关技术 .33.1 开发环境 33.2 开发工具 33.3 设计方法与技术 44 系统设计要点 .64.1 系统设计具体方法 64.2 系统数据库设计 84.3 系统的详细设计与实现 115 分析与结论 .205.1 系统存在的问题 205.2 进一步改进设想 205.3 经验和体会 21参考文献 22致谢 23附录 1:相关英文文献 .24附录 2:英文文献中文译文 .28摘 要超市停车场
2、管理系统主要完成到超市购物的车辆管理和会员管理。系统设置为多用户处理模式,车辆进出采用统一的界面,可登记的卡是超市会员卡,操作状态可以是开入,也可以是开出。本系统其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,帮助管理者掌握和分析停车场车辆情况,及时做出正确决策,并且有利于超市顾客更好的停车,减少顾客购物时间,增加客流量,提高顾客满意度。本系统的设计与开发是基于 JSP 技术,使用 MyEclipse 6.6 作为主要的开发工具,后台数据库采用 MySQL 的数据库管理系统,以 java 作为开发语言。关键词:超市停车场管理系统;MySQL;JSPABSTRACTSuper
3、market parking management system mainly finish to the supermarket shopping vehicle management and member management. For many users processing mode system Settings by unified, cars in the interface, can register card is a supermarket card, operation state can be open into, also can be open. This sys
4、tem its development mainly includes the setting and maintenance of database and the programming of the frontend application. Can help managers to grasp and analysis parking traffic situation, making the right decisions, and in time for customers better parking, supermarket shopping. Can have effecti
5、vely save manpower, reduce customer shopping time, increase passenger, improve customer satisfaction. I use MyEclipse 6.6 development tools backend database using MySQL database management system. Key words: Supermarket parking management system;MySQL;JSP1超市停车场管理系统的开发1 绪论随着科技的进步和人类文明的发展,人们的生活日新月异,也彻
6、底改变,打破了古时以畜力作为主要交通,到电动。又由共同交通到自家私有交通工具。近年来,私家车的急剧增加,给人们带来方便的同时也带来了新的问题,交通的拥挤,停车困难。智能停车场管理系统在超市等的应用越来越普遍。1.1 开发背景超市停车场管理(Supermarket parking management)系统是现代化停车场车辆收费及设备自动化管理的统称,是一个以非接触式 ID 卡为车辆出入停车场凭证、以车辆图像对比管理为核心的多媒体综合车辆收费管理系统 1。该系统将先进的 ID 卡识别技术和高速的视频图像存储比较相结合,通过计算机的图像处理和自动识别,对车辆进出停车场的收费、保安和管理等进行全方位
7、管理。是将车场完全置于计算机管理下的高科技机电一体化产品。 1.2 开发目的及意义随 着 社 会 的 发 展 , 人 们 生 活 水 平 的 提 高 , 以 车 代 步 去 超 市 购 物 逐 渐 成 为 趋 势 ,于 是 , 超 市 停 车 场 系 统 产 品 应 运 而 生 , 在 现 代 超 市 停 车 场 管 理 中 发 挥 着 越 来 越重 要 的 作 用 。 超 市 停 车 场 系 统 的 是 智 能 停 车 场 管 理 系 统 , 通 常 被 称 为 停 车 场 系 统或 智 能 停 车 场 , 也 被 行 内 人 士 简 称 为 “停 车 场 ”。 停 车 场 系 统 应 用
8、现 代 机 械 电 子及 通 讯 科 学 技 术 , 集 控 制 硬 件 、 软 件 于 一 体 。1.3 主要研究内容及设计思路超 市 停 车 场 管 理 系 统 的 使 用 既 方 便 又 快 捷 , 不 仅 提 高 了 工 作 效 率 , 也 大 大的 节 约 了 人 力 物 力 , 降 低 了 公 司 的 运 营 成 本 , 并 使 得 整 个 管 理 系 统 安 全 可 靠 。本 系 统 主 要 包 含 以 下 几 个 模 块 : 车 辆 管 理 、 会 员 管 理 以 及 系 统 设 置 。 其 中 ,车 辆 管 理 模 块 包 括 出 入 场 录 入 、 查 询 历 史 记 录
9、, 会 员 管 理 模 块 包 括 新 加 会 员 信息 、 会 员 信 息 修 改 、 导 入 会 员 信 息 以 及 导 出 会 员 信 息 , 系 统 设 置 模 块 包 括 新 用户 注 册 、 用 户 密 码 设 置 。2 系统总体说明设计一个系统首先要对其进行使用环境的配置,并且对其进行系统功能的设计及系统特点的分析。2.1 使用环境2.1.1 硬件配置要求服务器端:Intel PentiumIV 以上处理器,内存 1GB 以上客户端:CPU:600MHz 以上 Pentium/AMD 处理器内存:1GB 以上显示器:要求至少 800*600 像素,256 色2.1.2 软件配置要
10、求服务器端:操作系统:Windows XP 中文版操作系统数据库:MySQL 软件:Apache+Tomcat 6.0客户端:操作系统:Windows XP 中文版操作系统浏览器:Internet Explorer6.0 以上2.2 系统主要功能2.2.1 车辆管理功能(1) 出入场录入:车辆信息的录入以及当日在场车辆的信息查询功能;(2) 查询历史记录:车辆历史记录相关信息的查询功能。2.2.2 会员管理功能(1) 新加会员信息:新会员具体信息的录入功能;(2) 会员信息修改:已存在的会员信息的查询和修改功能;(3) 导入会员信息:将存有会员信息的 Excel 批量导入系统;(4) 导出会员
11、信息:实现对会员信息及相关车辆信息的导出功能。2.2.3 系统设置功能(1)新用户注册:实现对新增管理员的信息注册;(2)用户密码设置:实现对已登录管理员的密码修改功能。2.3 系统主要特点该系统界面美观友好大方、框架清晰,信息查询灵活、方便,数据存储安全可靠。能够快速地查询车辆相关信息,实现对会员车辆的信息管理功能,方便超市及时的了解会员来超市消费的动态。该系统最大限度地实现易维护性和易扩展性。体现了查找方便、可靠性高、存储量大、保密性好、寿命长和成本低等特点。在技术上采用浏览器/服务器结构(Brower/Server 结构) ,它是基于 Web 技术的新型网络结构。B/S 结构的系统具有操
12、作简便、客户端不需安装、维护方便等优点,3被越来越多的企业所青睐。3 开发环境与相关技术系统的设计都要在特定的开发环境下,用专门的开发工具,采用相关的技术进行开发。3.1 开发环境硬件平台:CPU:AMD 2.0GHz内存:1G分辨率:1440*900 像素软件平台:操作系统:Windows XP开发工具:MyEclipse6.6数据库服务器:MySQL开发语言:JAVAWeb 服务器:Apache Tomcat 6.0浏览器:Internet Explorer 6.03.2 开发工具本系统的设计与开发是基于 JSP 技术,采用 MyEclipse6.6 作为主要的开发工具,以及 MySQL
13、作为后台数据库,以 java 作为开发语言。3.2.1 MyEclipse6.6MyEclipse 企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对 Eclipse IDE 的扩展,利用它我们可以在数据库和 JavaEE 的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE 集成开发环境 ,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。MyEclipse,是一个十分优秀的用于开发 Java, J2
14、EE 的 Eclipse 插件集合,MyEclipse 的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错 2。3.2.2 MySQLMySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQL AB 公司。目前 MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库 3。MySQL 使用 C 和 C+编写,并使用了多种编译器进行测试,保证源代码的可移植性,支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、N
15、ovell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows 等多种操作系统,为多种编程语言提供了 API。这些编程语言包括C、C+、Python 、Java、Perl、PHP 、Eiffel 、Ruby 和 Tcl 等。支持多线程,充分利用 CPU 资源。优化的 SQL 查询算法,有效地提高查询速度。既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的 GB 2312、BIG5,日文的 Shift_JIS 等都可以用作数据表名和数据列名。提供 TCP/IP、ODBC 和 JDBC 等
16、多种数据库连接途径。提供用于管理、检查、优化数据库操作的管理工具。可以处理拥有上千万条记录的大型数据库。3.3 设计方法与技术3.3.1 JAVA设计方法Java,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和Java 平台 的总称。用 Java 实现的 HotJava 浏览器(支持 Java applet)显示了 Java 的魅力:跨平台、动态的 Web、Internet 计算。从此, Java 被广泛接受并推动了 Web的迅速发展,常用的浏览器现在均支持 Java applet4。Java 平台由 Java 虚拟机(Java Virtu
17、al Machine)和 Java 应用编程接口(Application Programming Interface、简称 API)构成。 Java 应用编程接口为 Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个 Java 平台之后,Java 应用 程序就可运行。现在 Java 平台已经嵌入了几乎所有的操作系统。这样 Java 程序可以只编译一次,就可以在各种系统中运行。Java 应用编程接口已经从 1.1x 版发展到 1.2 版。目前常用的 Java 平台基于 Java1.5,最近版本为 Java1.7。Java 分为三个体系 Jav
18、aSE(Java2 Platform Standard Edition,java 平台标准版),JavaEE(Java 2 Platform,Enterprise Edition,java 平台企业版),JavaME(Java 2 Platform Micro Edition,java 平台微型版) 5。3.3.2 设计技术 JSP(Java Server Pages)是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP 技术有点类似 ASP 技术,它是在传统的网页 HTML文件(*.htm,*.html)中插入 Java 程序段(Scriptl
19、et)和 JSP 标记(tag) ,从而形成 JSP 文件5(*.jsp)。 用 JSP 开发的 Web 应用是跨平台的,既能在 Linux 下运行,也能在其他操作系统上运行。JSP 技术使用 Java 编程语言编写类 XML 的 tags 和 scriptlets,来封装产生动态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务端的资源应用逻辑 6。JSP 将网页逻辑与 网页设计和显示分离,支持可重用的基于组件的设计,使基于 Web 的应用程序的开发变得迅速和容易。Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的 程序段,然后将执行结果连同 JSP
20、 文件中的 HTML 代码一起返回给客户。插入的 Java 程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP 与 Java Servlet 一样,是在服务器端执行的,通常返回给客户端的就是一个HTML 文本,因此客户端只要有 浏览器就能浏览。 ASP.NET 2.0 开发工具与以前的Web 开发模型相比,增加了许多功能,这使得开发人员在提高开发效率、简化管理和维护工作、提高性能和可伸缩性,以及扩展对于不同终端设备的支持能力等方面均有了大幅度的提高,使原繁杂的过程被简化到无法置信的容易。JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成。服务器在页面被客
21、户端请求以后对这些 Java 代码进行处理,然后将生成的 HTML 页面返回给客户端的浏览器。 Java Servlet 是 JSP 的技术基础,而且大型的 Web 应用程序的开发需要 Java Servlet 和 JSP 配合才能完成 7。JSP 具备了 Java 技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。为提高网络程序的开发效率,JSP 提供了一些内置对象,如Response、Request、Application、Session、Server、Cookie 和 Cache 等 8。Response 对象是 HttpResponse 类的一个实例,
22、它允许将数据作为请求的结果发送到浏览器中,并提供有关响应的信息。由于 Response 对象映射到 Page 对象Response 属性,因此可以直接把它用在 JSP 页面中。Request 对象是 HttpRequest 类的一个实例,它提供对当前页请求的访问,其中包括标题、Cookie、客户端证书、查询字符串等,用户可以使用此类来读取浏览器已经发送的内容 9。 Session 对象是 HttpSessionState 类的一个实例,其功能和 Application 对象类似,都是用来存储跨网页程序的变量或者对象,但 Session 对象和 Application 对象有些特性存在着差异。S
23、ession 对象只针对单一网页使用者,也就是说各个连接的机器都有各自的 Session 对象,不同的客户端无法互相存取。Application 对象中止于停止服务器时,而 Session 对象中止于联机机器离线时,也就是说当网页使用者关掉浏览器或者超过设定 Session 变量的有效时间时, Session 对象就会消失。Session 对象和Application 对象一样都是 Page 对象的成员,因此可直接在网页中使用。4 系统设计要点通过上面几章的介绍对系统有了一定的了解,这一章是具体的介绍如何设计及实现该系统。4.1 系统设计具体方法4.1.1 系统整体功能介绍超市停车场管理系统是
24、一个功能完备的车辆管理系统,由车辆管理模块、会员管理模块和系统设置模块三大部分组成。系统管理员登录后,可以实现对车辆的信息查询、管理车辆的出入场纪录,注册新会员、修改新会员信息,修改管理员登录的密码等功能。其功能结构图如图 1所示:图 1 超市停车场管理系统功能结构图4.1.2 系统结构流程图出入场录入 查询历史记录 新加会员信息 会员信息修改 导入会员信息 导出会员信息 新用户注册 用户密码设置面页录登统系理管场车停市超 理管辆车 理管员会 置设统系7超市停车场管理系统的结构流程图,如图 2 所示:图 2 系统结构流程图超市停车场管理系统出入场录入 查询历史记录 新加会员信息 会员信息修改
25、导入会员信息 导出会员信息 新用户注册 用户密码设置员理管统系理管辆车 理管员会 置设统系是 否 登 录成 功 否是出入场录入查询历史记录 新加会员信息 会员信息修改 导入会员信息 导出会员信息员理管通普理管辆车 理管员会是 否 登 录成 功 否是4.2 系统数据库设计4.2.1 数据库设计数据库设计是系统设计中非常重要的一个关键环节,因为数据库设计就像在建设高楼大厦一样,有稳固的基础,才能有优秀的成果。如果设计不好,不但会给程序开发调试带来困难,也会严重影响后期系统维护和功能扩展。在 MySQL 数据库管理系统中新建名称为 groil 的数据库,本系统使用的所有数据信息将存储于该数据库名为
26、groil 的 6 张数据表中。 4.2.2 数据库概念设计根据以上对系统所作的系统分析和系统设计及功能结构的确定,规划出系统中使用的数据库实体对象分别为会员信息实体、会员车辆信息实体、管理员信息实体。会员信息实体属性图,如图 3 所示:图 3 会员信息实体属性图会员车辆信息实体属性图,如图 4 所示:会员车辆信息车辆影像会员号 注册时间车牌号员工信息会员姓名 身份证号会员号 性别备注电子邮箱 联系电话车牌号9图 4 会员车辆信息实体属性图管理员信息实体属性图,如图 5 所示:图 5 管理员信息实体属性图4.2.3 数据库逻辑设计数据库 groil 中包含 6 张数据表,分别为 userinf
27、o(管理员登录表) 、userbase(管理员基本信息表) 、enter_park_info(车辆进场信息表) 、cust_car_info(会员车辆信息表) 、cust_info (会员信息表) 、park_info(停车场信息表) 。(1) 管理员登录表管理员登录表主要用于存储管理员的用户名及密码,数据表结构见表 1:表 1 管理员登录表字段名称 数据类型 是否主键 允许空 说明username varchar(50) 是 否 用户名password varchar(50) 否 否 密码(2) 管理员基本信息表管理员基本信息表主要用于存储管理员基本信息,数据表结构见表 2:管理员信息姓名性
28、别 用户名密码部门表 2 管理员基本信息表字段名称 数据类型 是否主键 允许空 说明username varchar(50) 是 否 用户名sex varchar(2) 否 是 性别passwordtruenamedepartmarkvarchar(50)varchar(50) varchar(30)varchar(100)否否否否否是是是密码姓名部门备注信息(3) 车辆进场信息表车辆进场信息表主要用于存储车辆进入停车场的时间、车位等信息,其数据表结构见表 3:表 3 车辆进场信息表字段名称 数据类型 是否主键 允许空 说明ID varchar(20) 是 否 主键car_id varchar
29、(15) 否 否 车牌号cust_id varchar(15) 否 否 会员号enter_time varchar(30) 否 否 进场时间out_timepark_positionvarchar(30)varchar(10)否否否否出场时间车位 (4) 会员车辆信息表会员车辆信息表是用于存储会员信息和相关车辆信息,其数据表结构见表4:表 4 会员车辆信息表字段名称 数据类型 是否主键 允许空 说明cust_id varchar(15) 是 否 会员号11car_id varchar(15) 否 否 车牌号car_pic blob 否 是 车辆影像regid_time date 否 否 注册时
30、间(5) 会员信息表会员信息表用于保存会员的基本信息,其数据表结构见表 5:表 5 会员信息表字段名称 数据类型 是否主键 允许空 说明cust_id varchar(15) 是 否 会员号cust_person_id varchar(18) 否 否 身份证号sex varchar(2) 否 是 性别cust_name varchar(50) 否 是 会员姓名Telephonee_mailmark_infovarchar(30)varchar(30)varchar(100)否否否是是是电话电子邮件备注(6) 停车场信息表停车场信息表用于标示车位是否被占用,其数据表结构见表 6:表 6 停车场信
31、息表字段名称 数据类型 是否主键 允许空 说明park_position varchar(10) 是 否 车位park_vacate_flag varchar(1) 否 否 标志位4.3 系统的详细设计与实现对于一个超市停车场管理系统来说,页面的设计合理即可。超市停车场管理系统的作用是帮助超市与消费者更加方便与管理,超市可以更好的管理,消费者可以更方便的购物。因此要提高超市的管理效率、系统管理者的工作效率,一定要突出页面的重点内容,显示关键功能。如果页面过于繁琐,会让管理者分不清主次,找不到重点,所以系统主页要简洁,大方。4.3.1 系统登录页面设计系统登录页面用于验证管理者登录系统时输入的用
32、户名、密码是否正确,只有合法的管理者才可以进入系统。系统登录页面的运行效果如图 6 所示:图 6 超市停车场管理系统登录页面用户登录可以通过 form 表单提交数据到 action 相应 java 类中,通过 JDBC 连接数据库。查找用户表,如有结果集返回,则验证成功。重置按钮利用 html 的 input的 type 为 reset 属性来清除文本框中的内容。 登录的后台机制,是利用 Hibernate 连接到数据库。 Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hi
33、bernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端 程序使用,也可以在 Servlet/JSP 的 Web应用中使用,最具革命意义的是,Hibernate 可以在应用 EJB 的 J2EE 架构中取代CMP,完成数据持久化的重任。 Hibernate 的核心接口一共有 5 个,分别为:Session、SessionFactory、Transaction、Query 和 Configuration。这 5 个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这 SessionFactory、Transaction
34、接口分别加以介绍。整体框架图如图 7 所示:13图 7 整体框架图SessionFactory 接口负责初始化 Hibernate。它充当数据存储源的代理,并负责创建 Session 对象。这里用到了工厂模式。需要注意的是 SessionFactory 并不是轻量级的,因为一般情况下,一个项目通常只需要一个 SessionFactory 就够,当需要操作多个数据库时,可以为每个数据库指定一个 SessionFactory。Transaction 接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。本系统登录功能 SessionFactory 其关键代码如下:pub
35、lic class HibernateUtil private static final SessionFactory sessionfactory;statictryConfiguration config=new Configuration();sessionfactory=config.configure(“/hibernate/hibernate.cfg.xml“).buildSessionFactory();catch(Throwable e)throw new ExceptionInInitializerError(e);public static Session getSessi
36、on()return sessionfactory.openSession();public static void closeSession()if(sessionfactory!=null4.3.2 车辆管理的设计4.3.2.1 出入场录入出入场的录入包括车辆信息的录入、车辆出场以及当日车辆信息三部分组成。车辆信息的录入是将车牌号、会员号以及车位号提交到系统,系统随即产生当时的入场时间,并将入场的车辆信息存储至数据库。车辆出场是根据车位号在enter_park_info车辆进场信息表中查找要出场的车辆,出场时间为空的车位,然后将车辆出场。当日车辆信息将当日入场的车辆信息存入enter_pa
37、rk_info车辆进场信息表中。出入场的录入如图8所示:图 8 出入场录入图实现存入到数据库中功能的关键代码如下: public int addCarInfo(EnterParkInfo carInfo) trySession session=HibernateUtil.getSession();Transaction tx=session.beginTransaction() ;Date outDate=new Date();SimpleDateFormat formatter =new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss“);15String out
38、DateStr=formatter.format(outDate);ParsePosition pos=new ParsePosition(2);Date currtDate=formatter.parse(outDateStr,pos);carInfo.setEnterTime( outDateStr);session.save(carInfo); mit();session.close();catch(Exception e)System.out.print(e.toString();throw new RuntimeException(“存信息操作失败!“);return 1;4.3.2
39、.2 查询历史记录查询历史记录通过搜索 enter_park_info 车辆进场信息表中会员号、车牌号或者入场日期来查询会员车辆是否曾停在超市停车场的历史记录,以避免超市与消费者之间产生误会,提高超市在同行业的竞争力。查询车辆历史记录如图 9 所示:图 9 查询历史记录图图 9 查询历史记录图查询功能的关键代码如下:if(sql!=nullsqlh+=“ limit “+(pageNow-1)*pageSize+“ , “+pageSize;Query query=session.createQuery(hql);List list=query.list();Query query1=sess
40、ion.createSQLQuery(sqlh);List listsql=query1.list();List listR=new ArrayList();for(int i=0;ilistsql.size();i+)EnterParkInfo parkInfo=new EnterParkInfo();Object object=(Object)listsql.get(i);parkInfo.setCarId(String)object0);parkInfo.setCustId(String)object1);parkInfo.setEnterTime(String)object2);par
41、kInfo.setOutTime(String)object3);parkInfo.setParkPosition(String)object4);listR.add(parkInfo);pageResult.setPageTot(list.size();pageResult.setPageList(listR);return pageResult;174.3.3 会员管理的设计4.3.3.1 新加会员信息新加会员信息是能令新会员能更好、更方便的来超市购物,所以添加此功能。要将新会员的会员号、身份证号、性别、姓名、联系电话、E-Mail、车牌号提交到cust_info 会员信息表中。新加会员信
42、息如图 10 所示:图 10 新加会员信息图4.3.3.2 会员信息修改会员信息的修改能令管理员及时准确的更改会员信息的变更,添加此功能是让超市更好的管理会员信息。通过会员号或会员姓名到 cust_info 会员信息表查找到相关的会员信息,更改后存放到 cust_info 会员信息表中。会员信息修改如图 11 所示:图 11 会员信息修改图4.3.3.3 导入会员信息导入会员信息是导入超市会员信息的 Excel 模板,填写好模板的相应数据,方便管理员批量导入新增会员的详细信息。新增的会员信息会自动加载到后台 MySQL的 cust_info 会员信息表中。导入会员信息如图 12 所示:图 12
43、 导入会员信息图导入信息功能,利用 jar 包 JXL,对 excel 的操作,通过 java 操作 excel 表格的工具类库 10。支持 Excel 95-2003 的所有版本,生成 Excel 2000 标准格式,支持字体、数字、日期操作 ,能够修饰单元格属性。关键代码如下:try inputStream=new FileInputStream(filePath);wb=Workbook.getWorkbook(inputStream);sheet=wb.getSheet(0);rows=sheet.getRows();for(int i=1;irows;i+)Session sessi
44、on=HibernateUtil.getSession();Transaction tx=session.beginTransaction();CustInfo custInfo =new CustInfo();CustCarInfo carInfo=new CustCarInfo();/会员信息存储 -custInfocustInfo.setCustId(sheet.getCell(0,i).getContents();19custInfo.setCustName(sheet.getCell(2,i).getContents();custInfo.setCustPersonId(sheet.
45、getCell(3,i).getContents();custInfo.setRegidTime(new Date();/会员的车辆信息存储-carInfocarInfo.setCarId(sheet.getCell(1,i).getContents();carInfo.setCustId(sheet.getCell(0,i).getContents();carInfo.setRegidTime(new Date();session.close();4.3.3.4 导出会员信息导出会员信息是将超市所有会员车辆信息以 Excel 的形式从 MySQL 中导出,存储到电脑中,单击“导出 Excel
46、”按钮就会弹出文件下载对话框如图 13 所示:图 13 导出会员信息图导出会员信息是从数据库中查找要导出的会员车辆信息信息,存放在一个 list对象中,在 MySQL 中查找完,通过 JXL 技术开始导入,将 list 对象写入到 excel 中。4.3.4 系统设置的设计4.3.4.1 新用户注册新用户注册是对新增管理员的信息注册,包括管理员的用户名、密码、姓名、性别、部门等。系统会将新增的管理员信息添加至 MySQL 的 userbase 用户基本信息表中。新用户注册如图 14 所示:图 14 新用户注册图4.3.4.2 用户名密码设置用户名密码设置是对当前管理员密码的修改,系统会将修改后
47、的管理员信息添加至 MySQL 的 userbase 用户基本信息表中。用户名密码设置如图 15 所示:图 15 用户名密码设置图5 分析与结论215.1 系统存在的问题由于毕业设计时间较短并且能力所限,系统还存在着一些不足之处。虽然包含了超市停车场管理系统的基本功能,但页面比较简单,界面样式也相对简单,还有待日后对其进行修改。5.2 进一步改进设想希望可以更进一步扩展该系统的功能,使之在功能上更加完善,更加实用。例如 导入信息是,可有更好日志 Log 跟踪可以返回给用户得知什么信息。车辆管理模块也可以做的更友好点。5.3 经验和体会这次毕业设计前后经历了四个多月,在这段时间中,曾经遇到了不少
48、困难,在李燕杰老师的悉心帮助下以及我对相关资料的学习,问题被一一解决。我从中体验到设计的快乐与充实。通过这次毕业设计,我不仅学会了设计较复杂的程序,更重要的是磨练了自己的意志,开阔了我的知识面,提高了我的专业知识水平,很好地培养了对问题的分析、解决能力,使我的独立工作能力以及合作能力也得到了很好的锻炼,对即将走上工作岗位的我们,可以说是受益匪浅。这次毕业设计使我发现自己还有很多知识欠缺,我应更加努力,不断提高自己的能力,为以后走上工作岗位打下坚实的基础。【参 考 文 献】1 牛 金 区 .智 能 停 车 场 管 理 系 统 方 案 书 J.中 国 工 程 建 设 协 会 ,2009.2-50.
49、2 安茹. Eclipse 权威开发指南 M. 北京: 清华大学出版社 ,2009.40-60. 3 张文昉,孙鑫.MYSQL 数据库原理及应用教程M.北京:清华大学出版社 2009.98-109.4 王鹏. Java 零基础学M. 北京: 机械工业出版社,2010.65-80.5 刘其成.JAVA 语言基础教程M. 石油大学出版社, 2009.122-140.6 邹竹彪.JSP 网络编程从入门到精通M. 北京: 清华大学出版社, 2007.87-120.7 张新曼.精通 JSP-WEB 开发技术与典型应用 M.北京:人民邮电出版本社.2007.45-90.8 张为民.JSP 编程及应用M. 北京: 清华大学出版社, 2007.50-90.9 英Sierra K, Bates B,张然译. Head First Java M.北京:中国电力出版社,2009.134-160.10 张孝祥,徐明华.Java 基础与案例开发详解M. 北京: 清华大学出版社,2010.50-60. 23致 谢感谢。 。 。 。 。 。 附录 1: