Java电商项目-1.构建数据库,搭建项目环境

到Github获取源码请点击此处

 

一. 数据库还原

  1. 新建Mysql数据库, 你可以使用自己熟悉的Mysql图形界面操作工具快速建库.

在这里插入图片描述

 

  1. 在新创建的ashop数据库中执行脚本文件ashop.sql. 该脚本存放在创建数据库的sql脚本目录下.

在这里插入图片描述

 

  1. 成功导入后, 数据库将拥有11张表

在这里插入图片描述

 

二. Mybatis逆向生成工具的使用

  • 接下来我们通过Mybatis逆向生成工具根据数据库表生成对应的pojo类和与Mybatis有关的文件.
  • 首先在IDE中导入Mybatis逆向生成工具/MybatisGenerator项目, 修改generatorConfig.xml文件中连接数据库的信息.

在这里插入图片描述

 

  • 设置好后运行GeneratorSqlmap

在这里插入图片描述

 

  • 运行结束后我们会在mapperpojo包下获得逆向生成的与数据库有关的数据.
  • 我们先保留着这些文件, 在下面项目环境搭建的过程中将会拷贝这些文件. 有了逆向生成工具就不用手动生成这些数据了.

三. 搭建项目环境

  • 项目的Maven结构如下:

在这里插入图片描述

 

  • 在idea中先创建ashopMaven项目, 然后依次按层级创建好各个模块. 最后的结果如下图:

在这里插入图片描述

 

  • 创建好Maven项目后需要为各个子模块添加依赖, 具体的依赖放在项目中各个模块的pom依赖目录下.
  • 接下来在ashop-rpc-service-impl模块的src/main/resource目录下添加配置文件, 所有配置文件均放在resource(配置文件)目录下.

在这里插入图片描述

 

  • 接下来, 把之前用逆向生成工具生成的pojo类放到pojo模块中(在java目录下创建com.ashop.pojo包), 并把逆向工程生成的mapper包下的mapper文件放到mapper模块中, 注意.java.xml文件是要分开放的, .java放在源码位置, .xml放在resource资源目录下
  • 我项目做到这里的时候遇到了错误, Mapper文件报错, 原因是编译打包后mapper接口文件和.xml文件不在同一个包内. 原因是我在resources目录下建包的时候建错了...

在这里插入图片描述

 

  • 至此为止项目的框架搭建完成.

 

四. 在linux虚拟机上部署zookeeper, 搭建Dubbo服务.

  • 先新建一台linux虚拟机, 然后使用类似Xshell等工具将jdk和zookeeper的安装包上传到虚拟机中.

linux虚拟机安装JDK

  • 下面是JDK的安装过程:
  • 首先你需要把linux版本的JDK上传到虚拟机上.
  • 创建java安装目录: mkdir /usr/local/jdk
  • 解压JDK压缩包: tar zxvf 跟上JDK压缩包名
  • 拷贝解压后的JDK到安装目录中: cp -rf 解压JDK文件名 /usr/local/jdk/
  • 配置环境变量: 打开编辑器vi /etc/profile, 追加以下内容

在这里插入图片描述

  • 退出编辑器, 输入指令让环境变量生效: source /etc/profile
  • 最后输入javajavac等指令检查是否配置成功.

 

安装zookeeper

  • 首先把zookeeper的压缩包上传到linux虚拟机上
  • 创建存放zookeeper的目录: mkdir /usr/local/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目录中, 我们要搭建集群, 三份zookeeper分别命名为zk1, zk2, zk3
  • 注意zk2和zk3同样对配置文件要进行配置.
  • 其中zk2的端口号配置为2182, zk3的端口号配置为2183, 除此之外配置文件最下面的集群部署三个配置文件都保持一致.
  • 接着, 关闭防火墙: 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 /路径
  • 提示: 你可以设置防火墙开放2181, 2182, 2183三个端口, 这样就不需要每次去手动关闭防火墙了.

 

五. 搭建ashop-manager-web项目

  • ashop-manager-web模块的作用相当于普通BS项目中的后台. 只不过ashop-manager-web通过调用远程方法完成对数据库的操作. 这就是SOA架构中面向服务的思想.
  • 首先在ashop项目下创建模块ashop-manager-web, 打包模式选择war包

在这里插入图片描述
 

  • 给后端管理系统添加依赖, 首先需要依赖service模块, 然后导入相关的依赖, 依赖样本在后台管理系统的配置文件目录中.
  • 在模块的src/main/resource目录下, 完成spring配置文件的配置.
  • 首先需要给出applicationContext-service.xml配置文件.
  • 然后是applicationContext-dubbo.xml配置文件
  • 最后创建springmvc.xml配置文件
  • 拷贝提供的静态资源到ashop-manager-web模块中. (拷贝到webapp中)

 

  • 接下来在后端管理系统的java目录下创建com.ashop.manager.controller包, 并创建PageController类, 在类中编写代码完成页面跳转以及管理后台首页的加载.

在这里插入图片描述
 

  • 然后对ashop总项目进行install, 你可能会在install时遇到一些小错误, 静下心根据错误提示修改即可.
  • install完后到ashop-manager-web项目中, 使用tomcat7插件进行发布. (Maven命令-Tomcat7:run)

在这里插入图片描述

 

  • 启动完毕后我们到浏览器的地址栏中输入http://localhost:8080, 即可进入商城的后台管理页面

在这里插入图片描述
 

  • 到此为止, 环境搭建暂时告一段落. 下面补充数据库表的介绍

 

六. 数据库表分析

  1. 内容分类表:tb_content_category
列名类型含义
idbigint(20)内容分类
parent_idbigint(20)父类目 ID=0 时,代表的是一级的类目
namevarchar(50)分类名称
statusint(1)状态:可选值:1(正常),2(删除)
sort_orderint(4)排列序号,表示同级类目的展现次序,如数值相等 则按名称次序排列。取值范围:大于零的整数
is_parenttinyint(1)该类目是否为父类目,1 为 true,0 为 false
createddatetime创建时间
updateddatetime更新时间
  1. 内容表: 内容表:tb_content
列名类型含义
idbigint(20)主键
category_idbigint(20)内容分类 ID
titlevarchar(200)内容标题
sub_titlevarchar(100)子标题
title_descvarchar(500)标题描述
urlvarchar(500)链接
picvarchar(300)图片绝对路径
pic2varchar(300)图片 2
contenttext内容
createddatetime创建时间
updateddatetime更新时间
  1. 1.3 商品表:tb_item
列名类型含义
idbigint(20)商品 id,同时也是商品编号
titlevarchar(100)商品标题
sell_pointvarchar(500)商品卖点
pricebigint(20)商品价格,单位为:分
numint(10)库存数量
barcodevarchar(30)商品条形码
imagevarchar(500)商品图片,以逗号分隔的多个图片的 url 地址字符 串
cidbigint(10)所属类目,叶子类目
statustinyint(4)商品状态,1-正常,2-下架,3-删除
createddatetime创建时间
updateddatetime更新时间
  1. 1.4 商品分类表:tb_item_cat
列名类型含义
idbigint(20)商品分类 ID
parent_idbigint(20)父类目 ID=0 时,代表的是一级的类目
namevarchar(50)类目名称
statusint(1)状态。可选值:1(正常),2(删除)
sort_orderint(4)排列序号,表示同级类目的展现次序,如数值相等 则按名称次序排列。取值范围:大于零的整数
is_parenttinyint(1)该类目是否为父类目,1 为 true,0 为 false
createddatetime创建时间
updateddatetime更新时间
  1. 商品描述表:tb_item_desc
列名类型含义
item_idbigint(20)商品 ID
item_desctext商品描述
createddatetime创建时间
updateddatetime更新时间
  1. 商品规格参数模板表:tb_item_param
列名类型含义
idbigint(20) 主键
item_cat_idbigint(20)商品分类 ID
param_datatext规格参数模板信息
createddatetime创建时间
updateddatetime更新时间
  1. 商品规格参数信息表:tb_item_param_item
列名类型含义
idbigint(20)主键
item_idbigint(20)商品 ID
param_datatext规格参数信息
createddatetime创建时间
updateddatetime更新时间
  1. 订单表:tb_order
列名类型含义
order_idvarchar(50)订单 id
paymentvarchar(50)实付金额。精确到 2 位小数;单位:元。如:200.07, 表示:200 元 7 分
payment_typeint(2)支付类型,1、在线支付,2、货到付款
post_feevarchar(50)邮费。精确到2 位小数;单位:元。如:200.07,表示:200 元 7 分
statusint(10)状态:1、未付款,2、已付款,3、未发货,4、已 发货,5、交易成功,6、交易关闭
create_timedatetime订单创建时间
update_timedatetime订单更新时间
payment_timedatetime付款时间
consign_timedatetime发货时间
end_timedatetime交易完成时间
close_timedatetime交易关闭时间
shipping_namevarchar(20)物流名称
shipping_codevarchar(20)物流单号
user_idbigint(20)用户 id
buyer_messagevarchar(100)买家留言
buyer_nickvarchar(50)买家昵称
buyer_rateint(2)买家是否已经评价
  1. tb_order_item
列名类型含义
idvarchar(20)主键
item_idvarchar(50)商品 id
order_idvarchar(50)订单 id
numint(10)商品购买数量
titlevarchar(200)商品标题
pricebigint(50)商品单价
total_feebigint(50)商品总金额
pic_pathvarchar(200)商品图片地址
  1. 物流表:tb_order_shipping
列名类型含义
order_idvarchar(50)订单 ID
receiver_namevarchar(20)收货人全名
receiver_phonevarchar(20)固定电话
receiver_mobilevarchar(30)移动电话
receiver_statevarchar(10)省份
receiver_cityvarchar(10)城市
receiver_districtvarchar(20)区/县
receiver_addressvarchar(200)收货地址,如:xx 路 xx 号
receiver_zipvarchar(6)邮政编码,如:310001
createddatetime创建时间
updateddatetime更新时间
  1. 用户表:tb_user
列名类型含义
idbigint(20)用户表主键
usernamevarchar(50)用户名
passwordvarchar(32)密码,加密存储
phonevarchar(20)注册手机号
emailvarchar(50)注册邮箱
createddatetime创建时间
updateddatetime更新时间

转载于:https://www.cnblogs.com/tanshaoshenghao/p/10829778.html

熟悉项目开发过程中SSM框架、JSP、Mysql使用,知道各技术之间的如何衔接; 考虑到部分学生只需要学习前台(买家)或是后台(后台),故将电商系统分为电商系统前台和电商系统后台两个项目, 当前课程包含电商系统前台和电商系统后台 该课程主要涉及到的技术有:  项目涉及的技术:  1、前端:jsp、css、javascript、jQuery(js框架)、bootstrap框架 2、后台:Spring MVC、Spring、Mybatis框架、javaMail进行邮件发送、jstl 、jstl自定义分页标签、代码生成器等 3、数据库:Mysql 4、服务器:Tomcat项目开发涉及的功能: 1、项目以及数据库搭建 2、用户登录、退出3、用户注册、邮件发送、以及用户信息激活4、首页商品信息页面搭建以及查询功能实现5、查询商品明细6、加入商品至购物车、删除、更新、清除购物车商品信息7、确认订单信息8、订单页面搭建以及下订单功能实现9、查询我的购物车以及订单信息10、商品明细查看,商品修改,商品下架11、商品类型管理12、订单管理13、代码机器人使用等等其他实战项目java项目实战之电商系统全套(前台和后台)(java毕业设计ssm框架项目)https://edu.csdn.net/course/detail/25771 java项目之oa办公管理系统(java毕业设计)https://edu.csdn.net/course/detail/23008 java项目之hrm人事管理项目java毕业设计)https://edu.csdn.net/course/detail/23007 JavaWeb项目实战之点餐系统前台https://edu.csdn.net/course/detail/20543 JavaWeb项目实战之点餐系统后台https://edu.csdn.net/course/detail/19572 JavaWeb项目实战之宿舍管理系统(Java毕业设计含源码)https://edu.csdn.net/course/detail/26721 JavaWeb项目实战之点餐系统全套(前台和后台)https://edu.csdn.net/course/detail/20610 java项目实战之电子商城后台(java毕业设计SSM框架项目)https://edu.csdn.net/course/detail/25770 java美妆商城项目|在线购书系统(java毕业设计项目ssm版)https://edu.csdn.net/course/detail/23989 系统学习课程:JavaSE基础全套视频(环境搭建 面向对象 正则表达式 IO流 多线程 网络编程 java10https://edu.csdn.net/course/detail/26941 Java Web从入门到电商项目实战挑战万元高薪(javaweb教程)https://edu.csdn.net/course/detail/25976其他素材版(毕业设计或课程设计)项目:点击老师头像进行相关课程学习
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值