Java高级电商项目-1.构建数据库,搭建项目环境
其他
2019-05-08 09:24:47
阅读次数: 0
一. 数据库还原
- 新建Mysql数据库, 你可以使用自己熟悉的Mysql图形界面操作工具快速建库.
- 在新创建的ashop数据库中执行脚本文件
ashop.sql
. 该脚本存放在创建数据库的sql脚本
目录下.
- 成功导入后, 数据库将拥有11张表
二. Mybatis逆向生成工具的使用
- 接下来我们通过Mybatis逆向生成工具根据数据库表生成对应的pojo类和与Mybatis有关的文件.
- 首先在IDE中导入
Mybatis逆向生成工具/MybatisGenerator
项目, 修改generatorConfig.xml
文件中连接数据库的信息.
扫描二维码关注公众号,回复:
6159600 查看本文章
- 运行结束后我们会在
mapper
与pojo
包下获得逆向生成的与数据库有关的数据.
- 我们先保留着这些文件, 在下面项目环境搭建的过程中将会拷贝这些文件. 有了逆向生成工具就不用手动生成这些数据了.
三. 搭建项目环境
- 在idea中先创建
ashop
Maven项目, 然后依次按层级创建好各个模块. 最后的结果如下图:
- 创建好Maven项目后需要为各个子模块添加依赖, 具体的依赖放在
项目中各个模块的pom依赖
目录下.
- 接下来在
ashop-rpc-service-impl
模块的src/main/resource
目录下添加配置文件, 所有配置文件均放在resource(配置文件)
目录下.
- 接下来, 把之前用逆向生成工具生成的
pojo
类放到pojo
模块中(在java目录下创建com.ashop.pojo包
), 并把逆向工程生成的mapper
包下的mapper文件放到mapper模块中, 注意.java
和.xml
文件是要分开放的, .java
放在源码位置, .xml
放在resource
资源目录下
四. 在linux虚拟机上部署zookeeper, 搭建Dubbo服务.
- 先新建一台linux虚拟机, 然后使用类似Xshell等工具将jdk和zookeeper的安装包上传到虚拟机中.
linux虚拟机安装JDK
- 下面简述JDK的安装过程:
- 创建java安装目录:
mkdir /usr/local/java
- 解压JDK到该目录:
tar zxvf 跟上JDK压缩包名
- 拷贝解压后的JDK到安装目录中:
cp -rf 解压JDK文件名 /usr/local/java/
- 配置环境变量: 打开编辑器
vi /etc/profile
, 追加以下内容
- 退出编辑器, 让环境变量生效:
source /etc/profile
- 最后输入
java
或javac
等指令检查是否配置成功.
安装zookeeper
- 解压上传到虚拟机的zookeeper压缩包:
tar zxvf 压缩包名
- (演示拷贝)拷贝解压文件到安装目录:
cp -rf 解压文件名 /usr/local/zookeeper/zk1
- 进入
zk1
目录, 在当前目录下创建data目录: mkdir data
- 进入
data
目录, 并创建myid文件, 并在文件中输入1(作为第一个zookeeper的唯一标识): vi myid
, 输入1后保存退出
- 回到zk1目录, 进入conf目录, 拷贝默认配置文件:
cp zoo_sample.cfg zoo.cfg
.
- 修改新的配置文件, 主要修改三个地方: 1. dataDir 2. client 3. 集群信息
- 配置完后继续拷贝2份zookeeper到
/usr/local/zookeeper
目录中, 我们要搭建集群, 分别命名为zk1, zk2, zk3
- 注意zk2和zk3同样对配置文件要进行配置.
- 接着, 关闭防火墙:
service iptables stop
- 启动3个zookeeper服务:
./zk1/bin/zkServer.sh start
, 还要启动zk2和zk3...
- 查看某个zookeeper的状态:
./zk1/bin/zkServer.sh status
- 连接zookeeper集群查看信息:
./zk1/bin/zkCli.sh
- 查看某个节点的信息:
ls /路径
- 查看某个节点保存的具体内容:
get /路径
- (以后会补充上具体的图文过程...)
五. 搭建ashop-manager-web项目
- 这个项目是商城的后台管理系统, 调用ashop-rpc提供的服务, 实现后台数据的管理.
- 首先在ashop项目下创建模块ashop-manager-web, 打包模式选择war包
- 给后端管理系统添加依赖, 首先需要依赖
service
模块, 然后导入相关的依赖, 依赖样本在后台管理系统的配置文件
目录中.
- 在模块的
src/main/resource
目录下, 完成spring配置文件的配置.
- 首先需要给出
applicationContext-service.xml
配置文件.
- 然后是
applicationContext-dubbo.xml
配置文件
- 最后创建
springmvc.xml
配置文件
- 拷贝静态资源
- 接下来在后端管理系统的java目录下创建
com.ashop.manager.controller
包, 并创建PageController
类, 在类中编写代码完成页面跳转.
- 然后对
ashop
总项目进行install, 你可能会在install时遇到一些小错误, 静下心根据错误提示修改即可.
- install完后到
ashop-manager-web
项目中, 使用tomcat7插件进行发布. (Maven命令-Tomcat7:run)
- 启动完毕后我们到浏览器的地址栏中输入
http://localhost:8080
, 即可进入商城的后台管理页面
- 到此为止, 环境搭建暂时告一段落. 下面补充数据库表的介绍
六. 数据库表分析
- 内容分类表:tb_content_category
id |
bigint(20) |
内容分类 |
parent_id |
bigint(20) |
父类目 ID=0 时,代表的是一级的类目 |
name |
varchar(50) |
分类名称 |
status |
int(1) |
状态:可选值:1(正常),2(删除) |
sort_order |
int(4) |
排列序号,表示同级类目的展现次序,如数值相等 则按名称次序排列。取值范围:大于零的整数 |
is_parent |
tinyint(1) |
该类目是否为父类目,1 为 true,0 为 false |
created |
datetime |
创建时间 |
updated |
datetime |
更新时间 |
- 内容表: 内容表:tb_content
id |
bigint(20) |
主键 |
category_id |
bigint(20) |
内容分类 ID |
title |
varchar(200) |
内容标题 |
sub_title |
varchar(100) |
子标题 |
title_desc |
varchar(500) |
标题描述 |
url |
varchar(500) |
链接 |
pic |
varchar(300) |
图片绝对路径 |
pic2 |
varchar(300) |
图片 2 |
content |
text |
内容 |
created |
datetime |
创建时间 |
updated |
datetime |
更新时间 |
- 1.3 商品表:tb_item
id |
bigint(20) |
商品 id,同时也是商品编号 |
title |
varchar(100) |
商品标题 |
sell_point |
varchar(500) |
商品卖点 |
price |
bigint(20) |
商品价格,单位为:分 |
num |
int(10) |
库存数量 |
barcode |
varchar(30) |
商品条形码 |
image |
varchar(500) |
商品图片,以逗号分隔的多个图片的 url 地址字符 串 |
cid |
bigint(10) |
所属类目,叶子类目 |
status |
tinyint(4) |
商品状态,1-正常,2-下架,3-删除 |
created |
datetime |
创建时间 |
updated |
datetime |
更新时间 |
- 1.4 商品分类表:tb_item_cat
id |
bigint(20) |
商品分类 ID |
parent_id |
bigint(20) |
父类目 ID=0 时,代表的是一级的类目 |
name |
varchar(50) |
类目名称 |
status |
int(1) |
状态。可选值:1(正常),2(删除) |
sort_order |
int(4) |
排列序号,表示同级类目的展现次序,如数值相等 则按名称次序排列。取值范围:大于零的整数 |
is_parent |
tinyint(1) |
该类目是否为父类目,1 为 true,0 为 false |
created |
datetime |
创建时间 |
updated |
datetime |
更新时间 |
- 商品描述表:tb_item_desc
item_id |
bigint(20) |
商品 ID |
item_desc |
text |
商品描述 |
created |
datetime |
创建时间 |
updated |
datetime |
更新时间 |
- 商品规格参数模板表:tb_item_param
id |
bigint(20) 主键 |
|
item_cat_id |
bigint(20) |
商品分类 ID |
param_data |
text |
规格参数模板信息 |
created |
datetime |
创建时间 |
updated |
datetime |
更新时间 |
- 商品规格参数信息表:tb_item_param_item
id |
bigint(20) |
主键 |
item_id |
bigint(20) |
商品 ID |
param_data |
text |
规格参数信息 |
created |
datetime |
创建时间 |
updated |
datetime |
更新时间 |
- 订单表:tb_order
order_id |
varchar(50) |
订单 id |
payment |
varchar(50) |
实付金额。精确到 2 位小数;单位:元。如:200.07, 表示:200 元 7 分 |
payment_type |
int(2) |
支付类型,1、在线支付,2、货到付款 |
post_fee |
varchar(50) |
邮费。精确到2 位小数;单位:元。如:200.07,表示:200 元 7 分 |
status |
int(10) |
状态:1、未付款,2、已付款,3、未发货,4、已 发货,5、交易成功,6、交易关闭 |
create_time |
datetime |
订单创建时间 |
update_time |
datetime |
订单更新时间 |
payment_time |
datetime |
付款时间 |
consign_time |
datetime |
发货时间 |
end_time |
datetime |
交易完成时间 |
close_time |
datetime |
交易关闭时间 |
shipping_name |
varchar(20) |
物流名称 |
shipping_code |
varchar(20) |
物流单号 |
user_id |
bigint(20) |
用户 id |
buyer_message |
varchar(100) |
买家留言 |
buyer_nick |
varchar(50) |
买家昵称 |
buyer_rate |
int(2) |
买家是否已经评价 |
- tb_order_item
id |
varchar(20) |
主键 |
item_id |
varchar(50) |
商品 id |
order_id |
varchar(50) |
订单 id |
num |
int(10) |
商品购买数量 |
title |
varchar(200) |
商品标题 |
price |
bigint(50) |
商品单价 |
total_fee |
bigint(50) |
商品总金额 |
pic_path |
varchar(200) |
商品图片地址 |
- 物流表:tb_order_shipping
order_id |
varchar(50) |
订单 ID |
receiver_name |
varchar(20) |
收货人全名 |
receiver_phone |
varchar(20) |
固定电话 |
receiver_mobile |
varchar(30) |
移动电话 |
receiver_state |
varchar(10) |
省份 |
receiver_city |
varchar(10) |
城市 |
receiver_district |
varchar(20) |
区/县 |
receiver_address |
varchar(200) |
收货地址,如:xx 路 xx 号 |
receiver_zip |
varchar(6) |
邮政编码,如:310001 |
created |
datetime |
创建时间 |
updated |
datetime |
更新时间 |
- 用户表:tb_user
id |
bigint(20) |
用户表主键 |
username |
varchar(50) |
用户名 |
password |
varchar(32) |
密码,加密存储 |
phone |
varchar(20) |
注册手机号 |
email |
varchar(50) |
注册邮箱 |
created |
datetime |
创建时间 |
updated |
datetime |
更新时间 |
转载自www.cnblogs.com/tanshaoshenghao/p/10829778.html