猿实战是一个原创系列文章,通过实战的方式,采用前后端分离的技术结合SpringMVC Spring Mybatis,手把手教你撸一个完整的电商系统,变身猿人找到工作不是问题。还等什么呢?关注公号,取基础代码,一起实战吧。
经过之前一些列章节的实战,我们终于离我们的目标系统越来越接近了,从今天开始到接下来的六个章节,我们一起来重点关注商品的那点儿事儿,今天我们先重点讲解商品发布时的类目选择功能。
功能概览
在商品发布的功能中,商品发布有三个步骤,选择类目,填写信息,提交信息。
今天我们要讲到的选择类目功能,其实和之前讲的类目联动选择并没有很大的区别,只是我们在选择的展示上已经数据的获取方式上有细微差别。
类目选择依然是保持了三级联动的方式进行,用户必须选择完整的三级类目才可以发布商品信息。
数据库设计
发布商品时,使用的是后台类目,后台类目的数据库设计之前已经有了,这里就不一一讲解了。
后端功能实现
在之前的过程中,我们灵活使用了带分页的类目查询来实现类目的下拉选择,其实这样做只是一个狗皮膏药而已,正确的做法是,每一级都需要查出所有的数据,之前之所以那样去处理,目的是告诉你问题的灵活解决之道。
废话不多讲了,我们先来看看后端数据功能是怎样实现的。
/**
* 不分页返回类目列表
* @param queryMallCategory
* @return
*/
@RequestMapping("/findByQuery")
public Result<List<MallCategory>> findByQuery(@RequestBody QueryMallCategory queryMallCategory){
return mallCategoryService.getMallCategorysByQuery(queryMallCategory);
}
由于service层和dao层是透传的,我们主要看下mapper层的区别。
通过mysql数据库做分页查询的本质在于使用limit关键字,第一个参数告知数据库从第几行取,第二个参数告知数据库取多少条记录。