标签:
跟随某视频教程练手项目.写的不是很详细,因为重点是学开发技巧,不过大体差不多的
逻辑架构
软件环境
类
具体里面的参数和函数以后用UML补充
create table user
(
id int primary key auto_increment,//主键自动递增
username varchar(40),//用户名
password varchar(16),//密码
phone varchar(40),
addr varchar(255),
rdate datetime//注册日期
);
create table category
(
id int primary key auto_increment,
pid int, #pid为0的是最顶层节点
name varchar(255),
descr varchar(255),
cno int, #最多三层, 每层占两位, 最多99个子节点
grade int #代表级别, 从1开始
);
create table product
(
id int primary key auto_increment,
name varchar(255),//产品名
descr varchar(255),//描述
normalprice double,//市场价
memberprice double,//会员价
pdate datetime,//上柜日期
categoryid int references catetory(id)//外键
);
create table salesorder
(
id int primary key auto_increment,
userid int,
addr varchar(255),
odate datetime,//下单时间
status int//0未处理单 1处理单 2废单
);
create table salesitem
(
id int primary key auto_increment,
productid int, //产品id
unitprice double, //单价
pcount int,
orderid int references salesorder(id)//外键
);
前台
后台
V0.1先写用户
V0.2在写分类
V0.3然后产品
V0.4接下来购物
V0.5最后订单处理
V0.6其他功能
执行sql语句,建立表,接着建立javaWEB项目,创建com.SQLHelper包,创建SQLHelper类,用于连接数据库
SQLHelper源代码
package com.SQLhelper;
import java.sql.*;
/**
* Created by nl101 on 2016/2/1.
*/
public class SQLHelper {
//初始化方法
private Connection conn = null;
private PreparedStatement ps = null;
private ResultSet rs = null;
private String driverURL = "com.mysql.jdbc.Driver";
private String URL = "jdbc:mysql://localhost:3306/bbs";
private String username = "root";
private String password = "7946521";
/**
* 初始化conn连接
*/
public SQLHelper(){
try {
Class.forName(driverURL);
conn = DriverManager.getConnection(URL,username,password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.err.println("驱动加载失败");
} catch (SQLException e) {
e.printStackTrace();
System.err.println("数据库连接失败");
}
}
/**
* 数据库更新
* @param sql sql语句
* @param params 附加参数
* @return true更新成功,false更新失败
*/
public boolean update(String sql,String[] params){
int k = 0;
try {
ps = conn.prepareStatement(sql);
for (int i = 0; i < params.length; i++) {
ps.setString(i+1,params[i]);
}
k = ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
System.err.println("更新失败");
}
return k > 0;
}
/**
* 数据库更新
* @param sql sql语句
* @return true更新成功,false更新失败
*/
public boolean update(String sql){
int k = 0;
try {
ps = conn.prepareStatement(sql);
k = ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
System.err.println("更新失败");
}
return k > 0;
}
/**
* 查询函数
* @param sql 查询语句
* @param params 附加参数
* @return 返回查询结果集
*/
public ResultSet query(String sql,String[] params){
try {
ps = conn.prepareStatement(sql);
for (int i = 0; i < params.length; i++) {
ps.setString(i+1,params[i]);
}
rs = ps.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
System.err.println("查询失败");
}
return rs;
}
/**
* 查询函数
* @param sql 查询语句
* @return 返回查询结果集
*/
public ResultSet query(String sql){
try {
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
System.err.println("查询失败");
}
return rs;
}
/**
* 关闭数据库连接
*/
public void close(){
try {
if (rs!=null) rs.close(); rs = null;
if (ps!=null) ps.close(); ps = null;
if (conn!=null) conn.close(); conn = null;
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 取得链接
* @return
*/
public Connection getConn() {
return conn;
}
}
接下来的文章开始写用户类
标签:
原文地址:http://blog.csdn.net/u012706811/article/details/50631487