JAVAEE开发——在线订购子系统(三)

来源:互联网 发布:网络保密协议范本 编辑:程序博客网 时间:2024/05/05 07:21

在环境搭建好以后,终于要开始我们的项目的编写了。

我们要实现的在线订购子系统,它是网上订购系统的一部分,实现了用户信息显示,用户订单显示,查询,用户消费记录显示,查询,用户充值记录显示查询等功能。这是在线订购系统的一部分。这个系统的开发我将使用JSP+javaBEAN来实现。

我们主要实现如下四部分功能:基本信息查询,订单信息查询,消费记录查询,用户充值记录查询。

用户基本信息查询主要包括:用户查询个人的信息等。

订单信息记录查询包括订单号,订单类型,订单生成日期等。

充值记录查询可以根据充值类型和充值日期

消费记录查询可以根据消费日期进行查询。

确定好功能后我们就要进行系统设计。

系统设计将主要包括两大部分,显示和查询如下图所示:


下面重点来介绍一下数据库的设计:

根据以上系统功能的分析,我需要建立四个表:



sql语句如下:


CREATE TABLE `add` (
  `ADDID` int(11) NOT NULL,
  `TYPE` varchar(20) default NULL,
  `COIN` int(11) default NULL,
  `DATETIME` datetime default NULL,
  `USERID` int(11) default NULL,
  PRIMARY KEY  (`ADDID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


/*Data for the table `add` */


insert  into `add`(`ADDID`,`TYPE`,`COIN`,`DATETIME`,`USERID`) values (1,'在线充值',15,'2006-01-01 00:00:00',1),(2,'个人银行充值',15,'2006-02-01 00:00:00',1),(3,'代理充值',15,'2006-03-01 00:00:00',1),(4,'在线充值',15,'2006-04-01 00:00:00',1),(5,'汇款充值',15,'2006-05-01 00:00:00',1);


/*Table structure for table `consume` */


DROP TABLE IF EXISTS `consume`;


CREATE TABLE `consume` (
  `CONSUMEID` int(11) NOT NULL,
  `PRICE` int(11) default NULL,
  `DATETIME` datetime default NULL,
  `USERID` int(11) default NULL,
  `PRODUCTNAME` varchar(50) default NULL,
  PRIMARY KEY  (`CONSUMEID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


/*Data for the table `consume` */


insert  into `consume`(`CONSUMEID`,`PRICE`,`DATETIME`,`USERID`,`PRODUCTNAME`) values (1,11,'2005-01-01 12:00:00',1,'商品1'),(2,25,'2006-02-03 00:00:00',1,'商品2'),(3,34,'2006-03-05 00:00:00',1,'商品3'),(4,221,'2006-03-13 00:00:00',1,'商品4');


/*Table structure for table `order` */


DROP TABLE IF EXISTS `order`;


CREATE TABLE `order` (
  `ORDERID` int(11) NOT NULL,
  `TYPE` varchar(20) default NULL,
  `PRICE` int(11) default NULL,
  `DATETIME` datetime default NULL,
  `USERID` int(11) default NULL,
  `PRODUCTNAME` varchar(20) default NULL,
  PRIMARY KEY  (`ORDERID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


/*Data for the table `order` */


insert  into `order`(`ORDERID`,`TYPE`,`PRICE`,`DATETIME`,`USERID`,`PRODUCTNAME`) values (1,'正在处理',15,'2006-04-04 00:00:00',1,'商品1'),(2,'支付成功',24,'2006-03-05 00:00:00',1,'商品2'),(3,'支付失败',55,'2006-02-01 00:00:00',1,'商品3'),(4,'支付失败',5,'2006-03-01 00:00:00',1,'商品4'),(5,'正在处理',54,'2006-01-01 00:00:00',1,'商品5');


/*Table structure for table `user` */


DROP TABLE IF EXISTS `user`;


CREATE TABLE `user` (
  `ID` int(11) NOT NULL,
  `NAME` varchar(20) default NULL,
  `PASSWORD` varchar(10) default NULL,
  `COIN` int(11) default NULL,
  `CONSUME` int(11) default NULL,
  `TYPE` varchar(20) default NULL,
  PRIMARY KEY  (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;


/*Data for the table `user` */


insert  into `user`(`ID`,`NAME`,`PASSWORD`,`COIN`,`CONSUME`,`TYPE`) values (1,'ABC','111111',100,250,'VIP'),(2,'bcd','111111',20,120,'普通用户');

为了能更好地对数据库进行操作,我将以上的sql语句写入到了一个.sql文件中,并在项目中定义了一个config.properties文件来配置数据库连接的参数,如下所示:

conn_type=
conn_url=jdbc:mysql://localhost:3306/buy?useUnicode=true&characterEncoding=UTF-8
conn_user=root
conn_pwd=root
conn_driver=com.mysql.jdbc.Driver

在项目中建立DBConnect类,来统一管理数据库的连接。



public static Connection getConnection() {
Connection conn = null;
try {
//System.out.println(Config.CONNECTION_DRIVER);
Class.forName(Config.CONNECTION_DRIVER).newInstance();
//System.out.println("["+Config.CONNECTION_URL+"  "+Config.CONNECTION_USER+Config.CONNECTION_PWD+"]");
conn = DriverManager.getConnection(Config.CONNECTION_URL,
Config.CONNECTION_USER, Config.CONNECTION_PWD);
} catch (Exception e) {
e.printStackTrace();
}
if (conn == null) {
System.out.println("no get connection!throws Exception");
}
return conn;
}
}

并设计一个config类来配置文件中的各个参数值。

public class Config {
private static Properties prop = new Properties();
static {
try {
prop.load(Config.class
.getResourceAsStream("config.properties"));

} catch (IOException e) {
System.out.println("File:config.properties no find,PLS check out!");
e.printStackTrace();
}
}
public static String CONNECTION_TYPE = prop.getProperty("conn_type");
public static String CONNECTION_URL = prop.getProperty("conn_url");
public static String CONNECTION_USER = prop.getProperty("conn_user");
public static String CONNECTION_PWD = prop.getProperty("conn_pwd");
public static String CONNECTION_DRIVER = prop.getProperty("conn_driver");

}

今天的讲解就先到这里,主要讲解了系统的功能分析与设计,以及数据库连接的相关情况,下一节我们将会对基本功能进行编写。

原创粉丝点击