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");
}
今天的讲解就先到这里,主要讲解了系统的功能分析与设计,以及数据库连接的相关情况,下一节我们将会对基本功能进行编写。
- JAVAEE开发——在线订购子系统(三)
- JAVAEE开发——在线订购子系统(一)
- JAVAEE开发——在线订购子系统(二)
- JAVAEE——网上订购子系统的开发(终)
- JAVAEE开发——网上购物子系统(四)
- JAVAEE开发——网上购物子系统(五)
- 淘宝在线订购应用实践—授权
- 在线订购系统(online ordering system)开发记录
- 招聘信息 在线订购
- 使用JSF来构建在线比萨(pizza)订购系统
- JavaEE学习之路—–JSP(三)
- 淘宝在线订购应用实践
- input子系统——linux驱动学习笔记(三)
- input子系统——linux驱动学习笔记(三)
- 嵌入式Linux驱动——SPI子系统解读(三)
- gpio子系统和pinctrl子系统(三)
- javaEE项目开发之——Maven
- Flex实践——Pizza网上订购系统之订购过程处理Version2演示
- 编译报错libcurl.a: No such file or directory
- Java多线程之优先级setPriority
- 高效简洁按键扫描程序模板
- soket 地址羽端口的绑定关系
- 数组移位
- JAVAEE开发——在线订购子系统(三)
- ES6中变量的解构与赋值
- 插件化开发
- SMP多核启动以及CPU热插拔驱动
- MYSQL性能优化之Mysql数据库高可用架构设计之日志复制
- JAVA的位运算与二进制转换
- Ambari安装trafodion
- MTK驱动移植相关路径
- Tomcat端口占用问题