1.通用mappercss
封装了单表的增删改查方法html
引包-》处理bean(添加注解:column、id、generatedValue等等)--》在mapper接口上继承tk包的Mappe<bean类名>--》使用内置的mapper方法(前端
selectAll、mysql
selectByprimaryKey根据逐渐进行查询、linux
select(bena类名)根据实体类中的非空参数进行查询、nginx
selectOne查一条数据,多条会报错、web
insert无论空仍是非空都插入、正则表达式
insertSelective空值不插入、spring
updateByprimaryKey(bena类名)、sql
updateByprimaryKeySelective根据主键更新,空值不更新、
updateByExample根据某个条件更新、
deleteByprimaryKey根据主键删除、
deleteByExample根据条件删除)
--》在XXXApplication主类上加注解MapperScan(base-pakage=“mapper包路径”),注意使用tk的mapperScan
2.模块构建
parent 依赖管理
bean实体类
interface接口 ------maven模块
cmmon-util通用工具 ------maven模块
web-util 工具类web端controller ------maven模块
service-util 工具类serviceimpl -------maven模块
XXX-web web端模块: ------- springboot
XXX-service 服务端模块: -------springBoot
3.dubbo
搭建zookeeper
项目中引入dubbo依赖:1.dubbo原生 2.zookeeper客户端 3.dubbo与spring整合包(第三方)
application.properties
application。name
注册中心地址
注册中心。协议 zookeeper
传输协议 dubbo
扫描包 全部设计dubbo注解都要在该包或该包的子包下
注解
@Service dubbo 标注在提供端
@Reference dubbo 标注在消费端
商品管理
分类
三级分类
平台属性
在商品列表进行商品过滤
跟三级分类挂钩,不一样的三级分类对应不一样的平台属性
销售属性
筛选商品,在一个范围内进行筛选,同一个spu内筛选
不一样的spu有不一样的销售属性。
spu:标准化产品单元。好比联想y470
相同系列的sku商品的资源能够共用,节省资源
经过销售属性概括商品(好比y470的不一样颜色、内存、显卡)
sku:库存单元
y470 黑色 4G内存 960显卡
y470 白色 8G内存 1060显卡
面向一个实体商品,一个sku就是一个不能再细分的商品,与价格和库存挂钩
三级分类
数据库:三个表 一级分类(id,分类名) 二级分类(id,分类名,一级分类id) 三级分类(id,分类名,二级分类id)
或者也能够弄成一个表,
一级分类id | 分类名 | |
二级分类id | 分类名 | 一级分类id |
三级分类id | 分类名 | 二级分类id |
对应数据库中的base_catalog1 base_catalog2 base_catalog3 三张表对应三级分类
前段NewStore_admin:
dev.env.js:配置后台访问地址 BASE——API对应后台的访问地址
index.js:配置前端端口地址 port: 8888,
跨域问题
须要在controller添加注解
@CrossOrigin
三级分类
平台属性
销售属性
三级分类和平台属性:1--》n
平台属性和平台属性值:1--》n
须要两张表:平台属性表base_attr_info(id,属性名,标识:属于哪一个三级分类id)、平台属性值base_attr_value(id,属性值名称,平台属性id)
一个spu都涉及哪些信息?1:1(都在一张表,多个字段) 1:n(多张表进行关联)
1:1 id、name(联想(Lenovo)小新Air14英寸 )、描述
1:n 销售属性(颜色、版本、尺寸,内存、组合。。)、图片(与spu关联,好比这个商品有20张图,属于不一样的4个sku,则根据不一样的sku显示不一样的图片。在保存spu时保存完整图片信息,等创建sku时,在进行关联)、评论、海报
一个sku都涉及哪些
1::1 id、name、价格、库存数(常常变化,能够拆分出去独立)
1:n 图片、销售属性值、平台属性
图片保存 oss 云存储 七牛
fastdfs 本地分布式文件存储
emc
去IOE(ibm小型机 orcle emc)由于他们贵
ibm:被docker服务器,pc服务器替换
orcle:mysql,pgsql
emc:文件存储,非结构化数据(图片,视频,影音)
前端后台管理模块,如今使用npm run dev启动,那么在正式环境linux怎么办?
npm是调试用的,linux是要打包,放在Nginx下(动静分离,动态的给tomcat,配置表达式)
spu的保存
保存主表:spu_info
保存图片:图片表,上传成功后会把图片路径回传,保存数据库的是路径
保存销售属性和属性值
安装fastdft
上传图片进行测试
上传成功
安装fastdfs-nginx-module_v1.16.tar.gz
1.先安装Nginx
./configure 预配置,作一些设置
make
make install
Nginx动静分离
1.动态请求 http://manage.wubingyin.cn/attrList?attrId=3
2.静态请求 http://manage.wubingyin.cn/static/XXX.js
js、css、png、jpg、ico、tff
~*.(js|css|png\jpg|ico|tff)$
$表示已js|css|png\jpg|ico|tff结尾
()表示:括号中的知足任何一个
3.首页 http://manage.wubingyin.cn/ index.html
location ~*[a-z]+{}
a-z不区分大小写的状况下,有1到n个字符
正则匹配
一、= :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,若是匹配 成功,就中止继续向下搜索并当即处理该请求。
二、~:用于表示 uri 包含正则表达式,而且区分大小写。
三、~*:用于表示 uri 包含正则表达式,而且不区分大小写。
四、^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字 符串匹配度最高的 location 后,当即使用此 location 处理请求,而再也不使用 location 块中的正则 uri 和请求字符串作匹配。
注意:若是 uri 包含正则表达式,则必需要有 ~ 或者 ~* 标识。
sku 名称、价格、总量、描述
销售属性值 黄色、128G n:n sku
平台属性值 屏占比 内存。。。 n:n sku
图片spu_image n:n sku
这三个都是多对多,须要中间表。