CREATE TABLE `med` (
`ID` int(11) NOT NULL auto_increment, `MedName` varchar(40) NOT NULL default '', `MedClass` int(11) NOT NULL default '0', `EnName` varchar(25) default NULL, `Company` varchar(150) default NULL, `MedNo` varchar(30) default NULL, `Content` text,
`Prince` float default NULL, `Amount` int(11) default NULL, `Leav_number` int(11) default NULL,
`RegTime` datetime NOT NULL default '0000-00-00 00:00:00', `picture` varchar(200) default NULL, PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
管理员信息表:
表5-3:管理员信息列表
Field Type Null Key -- -- Default (NULL) (NULL) Extra -- -- Comment 用户名 密码 AdminUser varchar(20) YES AdminPass varchar(50) YES SQL语句:
CREATE TABLE `meddmin` (
`AdminUser` varchar(20) default NULL, `AdminPass` varchar(50) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
药品分类表:
表5-4:药品分类表
Field ID Classname Type int(11) Null -- Key PRI -- Default (NULL) (NULL) Extra Comment auto_increment 分类编号 -- 分类名称 varchar(30) -- SQL语句:
CREATE TABLE `medclass` (
`ID` int(11) NOT NULL auto_increment, `ClassName` varchar(30) NOT NULL default '', PRIMARY KEY (`Id`)
17
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
订单详细表:
表5-5:订单详细表
Field Id orderId UserId SubmitTime Type int(11) Null -- Key -- -- -- -- -- -- -- -- -- -- Default (NULL) -- 0 -- (NULL) (NULL) (NULL) (NULL) (NULL) (NULL) Extra -- -- -- -- -- -- -- -- -- -- Comment 主键,递增 订单编号 用户编号 交单时间 交货时间 总金额 备注 用户IP 是否付款 是否发货 varchar(20) -- int(11) datetime -- -- YES YES YES ConsignmentTime datetime TotalPrice content IPAddress IsPayoff IsSales float text varchar(20) YES int(11) int(11) YES YES
SQL语句:
CREATE TABLE `orders` (
`Id` int(11) NOT NULL auto_increment, `orderId` varchar(20) NOT NULL default '', `UserId` int(11) NOT NULL default '0',
`SubmitTime` datetime NOT NULL default '0000-00-00 00:00:00', `ConsignmentTime` datetime default NULL, `TotalPrice` float default NULL, `content` text,
`IPAddress` varchar(20) default NULL, `IsPayoff` int(11) default NULL, `IsSales` int(11) default NULL, PRIMARY KEY (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
用户信息表:
表5-6:用户信息表
Field ID UserName Type int(11) varchar(20) Null -- -- Key PRI -- Default (NULL) -- Extra auto_incre -- Comment 主键,递增 用户名 18
Password Names Sex Address Phone Post Emain RegTime varchar(50) varchar(20) char(2) -- YES YES -- -- -- -- -- -- -- -- -- -- (NULL) (NULL) (NULL) (NULL) (NULL) (NULL) (NULL) (NULL) -- -- -- -- -- -- -- -- -- 密码 真实姓名 性别 地址 联系电话 邮编 E-mail 注册时间 注册IP varchar(150) YES varchar(25) varchar(8) varchar(5) datetime YES YES YES YES YES RegIpAddress varchar(20) SQL语句:
CREATE TABLE `med_user` (
`Id` int(11) NOT NULL auto_increment, `UserName` varchar(20) NOT NULL default '', `PassWord` varchar(50) NOT NULL default '', `Names` varchar(20) default NULL, `Sex` char(2) default NULL,
`Address` varchar(150) default NULL, `Phone` varchar(25) default NULL, `Post` varchar(8) default NULL, `Email` varchar(50) default NULL, `RegTime` datetime default NULL, `RegIpAddress` varchar(20) default NULL, PRIMARY KEY (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
5.2 数据库的连接
下面首先介绍数据库连接Bean的编写,即util.DataBase类,这是一个公共类,其它类如果要连接数据库,只要构造这个类的对象就可以了。附主要代码和注释如下: package mms.util; /**注释
*数据库连接专用包
19
*Company: med shop online * @by :zhourong * @version 1.0 */
import java.sql.*; public class DataBase { public Connection conn; public Statement stmt; public ResultSet rs=null; public String sqlStr=\ public DataBase() { this.connect(); }
public boolean connect(){ try{ //注册驱动程序
Class.forName(\//连接字符串,有连接数据库的IP,用户名,密码以及编码格式等 String =gbk\
conn=DriverManager.getConnection(url); stmt = conn.createStatement (); }catch(Exception ee){
System.out.println(\ return false; } return true; }
public static void main(String[] args) { try{
DataBase db = new DataBase(); db.connect(); }catch(Exception e){ e.printStackTrace(); } }
20
url
=\
}
5.3 功能模块的详细设计
5.3.1 组件包结构
本系统基于JavaBeans技术,用JCreator建立工程MMS,系统包图如下:
MMS mms.run login op_med op_medclass op_buy op_user mms.util DataBase dataFormat mms.med allorder med medclass order shopcar user 图5-1:系统包示意图
run包下有五个类:
? login类:管理用户登录。
? op_med类:管理药品,包括药品的查询、修改、删除、添加等。 ? op_medclass类:管理药品分类,包括药品分类的查询、添加和删除。 ? op_buy类:管理订单,包括订单的查询、添加、修改和删除等。 ? op_user类:管理用户,包括用户的查询、添加、删除和修改等。
med包下有六个类:
? allorder类:订单列表类。 ? med类:药品类。 ? medclass类:药品分类类。 ? order类:订单类。 ? shopcar类:购物车类。 ? user类:用户类。
21