后端API地址:https://gitee.com/guchengwuyue/yshopmall
后台vue地址:https://gitee.com/guchengwuyue/yshopmall_qd

代码生成

使用mybatis-plus+freemarker生成模板代码。自动生成过程记录如下:

  1. 建表,写好注释
  2. 在代码生成页看到所有表

image.png

  1. 每张表的生成策略都会保存,因此首次生成一张表需要配置,配置完后保存,再生成。
  2. 点击配置,进入字段配置:
  • 列表:list显示的列
  • 表单:插入或编辑时是否包含该字段
  • 表单类型:插入或编辑时字段类型是input输入框?还是select还是redio,或者日期框。如果为select或者redio,需要配置关联词典,指明下拉或者redio组的标签和值是什么。关联词典需要在系统管理的词典管理管理。
  • 查询方式:指定查询方式,指定后会出现在页面上方,可以进行检索。

image.png

  1. 生成配置:
  • 至于包下:写全,如co.yixiang.modules.shop,其下会生成domainrestservice三个包。分别存放模型、控制器、业务层。
  • 端口名称:出现在接口文档中,可以输入中文,类似该页面的注释
  • 前端路径:建议是绝对路径,最后跟上新的文件夹名称,如

D:\project\yshopmall_qd\src\views\shop\onlinestore
前端生成文件包括两个:index存放于上述路径下;js存放于D:\project\yshopmall_qd\src\api的api文件夹下。
image.png

index的模板文件有bug,需要在import处加上: import crud${className} from '@/api/${changeClassName}' 否则会报找不到某符号。 如下所示:

  1. <script>
  2. >> import crud${className} from '@/api/${changeClassName}'
  3. import CRUD, {crud, form, header, presenter} from '@crud/crud'
  4. import rrOperation from '@crud/RR.operation'
  5. import crudOperation from '@crud/CRUD.operation'
  6. import udOperation from '@crud/UD.operation'
  7. import pagination from '@crud/Pagination'
  8. import MaterialList from "@/components/material";
  1. 添加菜单
  • 需要添加权限标识,不然无法访问。见生成的controller中查询的权限,如yxStoreOnline:list: ```javascript

@GetMapping @Log(“查询线上店铺Controller”) @ApiOperation(“查询线上店铺Controller”) @PreAuthorize(“@el.check(‘admin’,’yxStoreOnline:list’)”) public ResponseEntity getYxStoreOnlines(YxStoreOnlineQueryCriteria criteria, Pageable pageable){ return new ResponseEntity<>(yxStoreOnlineService.queryAll(criteria,pageable),HttpStatus.OK); } ```

  • 路由地址:点击菜单后地址栏跳转的地址,需要填写,但是没有限制
  • 组件路径:需要填写相对views下的路径,指向到vue页面,如shop/onlinestore/index
  • 组件名称:和路由地址一样即可,不影响使用

image.png

生成的页面:
image.png