猿实战06——带你实现不一样的地址管理

猿实战是一个原创系列文章,通过实战的方式,采用前后端分离的技术结合SpringMVC Spring Mybatis,手把手教你撸一个完整的电商系统,跟着教程走下来,变身猿人找到工作不是问题。想要一起实战吗?关注公号即可获取基础代码。

上一章节,猿人君教会了你一个新鲜的东西——猿实战05——手把手教你拥有自己的代码生成器。大家掌握原理,知道怎么去抽象你的代码就好了,莫要过于纠结。今天我们来学习新的东西——地址管理。

也许你会好奇,电商系统里怎么会有地址管理这个概念呢?嗯,地址其实是电商系统的通用数据,网购过的朋友都知道,下单的时候一定会叫你填写收货地址。地址数据在此时尤为重要,在构建地址数据库时,尽量的让它标准化统一化,方便整个系统的使用,我们先看看,要做的功能。

数据库设计

其实一个用于运营的电商系统中,地址的数据是相当庞大而且繁复的。你在填写用户地址的时,往往要求填写的是四级地址而非三级地址。为什么会是四级?国家地址库一般不是三级吗?这个四级地址是哪里来的呢?

嗯,这个四级地址其实是很宝贵的资源。都是配送人员在实际的工作中收集下来,最后经过筛选,合并,形成一套标准地址。这些地址,往往表达的是某某街道,某某片区,某村几社,这个级别了,这是长期工作的积累,到目前为止,数据量其实是在3亿条以上,各个公司的数据都会不同。猿人君也没有办法搞到4级地址,所以我们在功能上只做了三级。

不过考虑到未来的扩展,那么四级地址的维护任务会比较繁重,所以在设计上和传统的设计会有一些区别。相信大家见过太多的地址表,往往是父子结构的,一张表搞定。不过我们为了未来的四级地址考虑,还是拆开来设计,分别维护,省、市、区、三级地址,以后要做四级地址时,再扩展一张表(考虑数据量够吗?)就好了。

代码生成初体验

既然我们已经自己写过代码生成器了,准备牛刀小试一下吧。三张表,要是自己手写,还是比较麻烦的。不过今天也就是体验下昨天的成果,对于新手同学而言,仅此一次吧,以后还是老老实实去码,太早用这类东西,对你的发展不是很好。

我们打开我们编写的代码生成器,然后开始做修改一些基本的配置,如下图:

 

打开CgTest类,三张表,我们定义好表名,以及PoJo名就好了,如下图。

 

然后运行程序,代码就好了。

 

我们将生成的代码copy到对应目录,并完成相应的配置。

Controller

考虑到每个页面的功能都比较类似,都是新增,修改以及列表的功能,不过数据还是分开维护的,我们编写三个Controller,去应对这些功能就可以了。

/**
 * Copyright(c) 2004-2020 pangzi
 * com.pz.basic.mall.controller.sys.MallProvinceController.java
 */
package com.pz.basic.mall.controller.sys;
 
import com.pz.basic.mall.domain.base.Result;
import com.pz.basic.mall.domain.sys.MallProvince;
import com.pz.basic.mall.domain.sys.query.QueryMallProvince;
import com.pz.basic.mall.service.sys.MallProvinceService;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
 
import java.util.List;
 
 
/**
 *
 * @author pangzi
 * @date 2020-06-22 20:47:27
 *
 *
 */
@RestController
@RequestMapping(
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值