2.快速开发篇

本文档详细介绍了如何快速开发Gulimall电商平台,包括前端脚手架的导入,renren-generator的下载与配置,mybatis-plus的整合,以及各模块代码的逆向生成。主要步骤包括安装node.js,创建gulimall-common模块,配置数据库连接,使用代码生成器生成各模块代码,并逐一启动各模块服务进行验证。
摘要由CSDN通过智能技术生成

2 快速开发

2.1 导入前端脚手架

2.1.1 安装node.js

下载地址:https://registry.npmmirror.com/binary.html?path=node/v10.16.3/

1、输入node.js查看node版本

2、配置npm使用淘宝镜像:npm config set registry http://registry.npm.taobao.org/

3、在vscode的终端中输入npm install这步出错可以查看评论区相关解决方法,在这里卡了两小时

4、在终端输入npm run dev

5、输入网址localhost:8001可以看到登陆页面,默认登陆账号密码:admin

2.2 下载renren-generator

1、下载人人开源的代码生成器renren-generator,注意下载的版本,新版本可能会出现一些问题,版本尽量和视频版本保持一致,因为版本问题jar包冲突又卡了两个小时,旧版本也可以在gitee上下载到

2、同样删除 .git 文件

3、复制到gulimall总目录下,添加进module

4、修改renren-generator模块里的application.yml配置文件,修改数据库连接配置

#MySQL配置
driverClassName: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.56.10:3306/gulimall_pms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: root

5、修改generator.properties一些配置

#代码生成器,配置信息

mainPath=com.atguigu
#包名
package=com.atguigu.gulimall
moduleName=product
#作者
author=xjhqre
#Email
email=xjhqre@gmail.com
#表前缀(类名不会包含表前缀)
tablePrefix=pms_

6、src/main/resources/template/Controller.java.vm,注释掉所有@RequiresPermissions注解

package ${package}.${moduleName}.controller;

import java.util.Arrays;
import java.util.Map;

// import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import ${package}.${moduleName}.entity.${className}Entity;
import ${package}.${moduleName}.service.${className}Service;
import ${mainPath}.common.utils.PageUtils;
import ${mainPath}.common.utils.R;



/**
 * ${comments}
 *
 * @author ${author}
 * @email ${email}
 * @date ${datetime}
 */
@RestController
@RequestMapping("${moduleName}/${pathName}")
public class ${className}Controller {
    @Autowired
    private ${className}Service ${classname}Service;

    /**
     * 列表
     */
    @RequestMapping("/list")
    // @RequiresPermissions("${moduleName}:${pathName}:list")
    public R list(@RequestParam Map<String, Object> params){
        PageUtils page = ${classname}Service.queryPage(params);

        return R.ok().put("page", page);
    }


    /**
     * 信息
     */
    @RequestMapping("/info/{${pk.attrname}}")
    // @RequiresPermissions("${moduleName}:${pathName}:info")
    public R info(@PathVariable("${pk.attrname}") ${pk.attrType} ${pk.attrname}){
      ${className}Entity ${classname} = ${classname}Service.getById(${pk.attrname});

        return R.ok().put("${classname}", ${classname});
    }

    /**
     * 保存
     */
    @RequestMapping("/save")
    // @RequiresPermissions("${moduleName}:${pathName}:save")
    public R save(@RequestBody ${className}Entity ${classname}){
      ${classname}Service.save(${classname});

        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    // @RequiresPermissions("${moduleName}:${pathName}:update")
    public R update(@RequestBody ${className}Entity ${classname}){
      ${classname}Service.updateById(${classname});

        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    // @RequiresPermissions("${moduleName}:${pathName}:delete")
    public R delete(@RequestBody ${pk.attrType}[] ${pk.attrname}s){
      ${classname}Service.removeByIds(Arrays.asList(${pk.attrname}s));

        return R.ok();
    }

}

7、启动主程序类

8、访问localhost,看见下图所示界面

image-20220419003651738

8、可以看到pms数据库中的表信息

image-20220419003727951

9、勾选所有表后点击生成代码,坑:注意调整显示条目数

image-20220419011517347

10、将压缩包里的main复制替换掉gulimall-product模块里的main目录

image-20220419005216932

2.3 创建gulimall-common

1、以maven创建gulimall-common

2、在其他所有模块里加入gulimall-common的依赖

3、把renren-fast里的一些文件复制到gulimall-common里,如果有报错就继续复制

image-20220419133241277

4、配置gulimall-common依赖

<dependencies>
    <!--        mybatis-plus-->
    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.2.0</version>
    </dependency>

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.8</version>
    </dependency>

    <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore -->
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpcore</artifactId>
        <version>4.4.12</version>
    </dependency>


    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.6</version>
    </dependency>
    
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>

</dependencies>

5、可以删除xss目录下的XssHttpServletRequestWrapper.java和XssFilter.java

2.4 整合mybatis-plus

2.4.1 导入依赖

导入依赖mybatis-plus-boot-starter,我们已经在common里导入了

2.4.2 配置

  1. 配置数据源

    1. 导入mysql驱动

      <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>8.0.17</version>
      </dependency>
      
    2. product模块里配置application.yml

      spring:
        datasource:
          username: root
          password: root
          url: jdbc:mysql://192.168.56.10:3306/gulimall_pms
          driver-class-name: com.mysql.jdbc.Driver
      
  2. 配置mybatis-plus

    1. 在主启动类上标注@MapperScan

      @SpringBootApplication
      @MapperScan("com.atguigu.gulimall.product.dao")
      public class GulimallProductApplication {
      
          public static void main(String[] args) {
              SpringApplication.run(GulimallProductApplication.class, args);
          }
      
      }
      
    2. 告诉mybatis-plus,SQL映射文件的位置

      mybatis-plus:
        mapper-locations: classpath:/mapper/**/*.xml
      
    3. 配置自增主键,在entity里每个类上都标注了mybatis-plus的相关注解

      mybatis-plus:
        mapper-locations: classpath:/mapper/**/*.xml
        global-config:
          db-config:
            id-type: auto # 设置所有表为自增主键
      

2.4.3 测试

1、测试代码

@SpringBootTest
class GulimallProductApplicationTests {

    @Autowired
    BrandService brandService;

    @Test
    void contextLoads() {
        BrandEntity brandEntity = new BrandEntity();

        brandEntity.setName("华为");
        brandService.save(brandEntity);
        System.out.println("保存成功");
    }

}

2、查看数据库数据,测试成功

image-20220419133438343

2.5 逆向生成其他模块的代码

2.5.1 coupon

1、修改application.yml数据库url配置,改为 sms

url: jdbc:mysql://192.168.56.10:3306/gulimall_sms?useUnicode=true&characterEncoding=UTF-8&useSSL=false

2、修改generator.properties

#代码生成器,配置信息

mainPath=com.atguigu
#包名
package=com.atguigu.gulimall
moduleName=coupon
#作者
author=xjhqre
#Email
email=xjhqre@gmail.com
#表前缀(类名不会包含表前缀)
tablePrefix=sms_

3、启动主启动类,生成代码

image-20220419134326881

4、复制压缩包里的main到coupon里

5、coupon依赖common

6、配置application.yml

spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://192.168.56.10:3306/gulimall_sms
    driver-class-name: com.mysql.jdbc.Driver

mybatis-plus:
  mapper-locations: classpath:/mapper/**/*.xml
  global-config:
    db-config:
      id-type: auto # 自增主键
      
server:
  port: 7000

8、启动主程序

9、启动成功后输入网址http://localhost:7000/coupon/coupon/list,显示以下信息

image-20220419134843507

2.5.2 member

1、修改application.yml数据库url配置,改为 ums

url: jdbc:mysql://192.168.56.10:3306/gulimall_ums?useUnicode=true&characterEncoding=UTF-8&useSSL=false

2、修改generator.properties

#代码生成器,配置信息

mainPath=com.atguigu
#包名
package=com.atguigu.gulimall
moduleName=member
#作者
author=xjhqre
#Email
email=xjhqre@gmail.com
#表前缀(类名不会包含表前缀)
tablePrefix=ums_

3、启动主启动类,生成代码

image-20220419135126744

4、复制压缩包里的main到member模块里

5、引入gulimall-common

6、配置application.yml

spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://192.168.56.10:3306/gulimall_ums
    driver-class-name: com.mysql.jdbc.Driver

mybatis-plus:
  mapper-locations: classpath:/mapper/**/*.xml
  global-config:
    db-config:
      id-type: auto # 自增主键

server:
  port: 8000

8、启动主程序

9、启动成功后输入网址http://localhost:8000/member/growthchangehistory/list,显示以下信息

image-20220419134843507

2.5.3 order

1、修改application.yml数据库url配置,改为 oms

2、修改generator.properties

#代码生成器,配置信息

mainPath=com.atguigu
#包名
package=com.atguigu.gulimall
moduleName=order
#作者
author=xjhqre
#Email
email=xjhqre@gmail.com
#表前缀(类名不会包含表前缀)
tablePrefix=oms_

3、启动主启动类,生成代码

4、复制压缩包里的main到order模块里

5、引入gulimall-common

6、配置application.yml

spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://192.168.56.10:3306/gulimall_oms
    driver-class-name: com.mysql.jdbc.Driver

mybatis-plus:
  mapper-locations: classpath:/mapper/**/*.xml
  global-config:
    db-config:
      id-type: auto # 自增主键

server:
  port: 9000

8、启动主程序

9、启动成功后输入网址http://localhost:9000/order/order/list,显示以下信息

image-20220419135904351

2.5.4 product

product已经生成过了,只需要添加端口号为10000

2.5.5 ware

1、修改application.yml数据库url配置,改为 wms

2、修改generator.properties

#代码生成器,配置信息

mainPath=com.atguigu
#包名
package=com.atguigu.gulimall
moduleName=ware
#作者
author=xjhqre
#Email
email=xjhqre@gmail.com
#表前缀(类名不会包含表前缀)
tablePrefix=wms_

3、启动主启动类,生成代码,注意不要选undo_log

image-20220419141717237

4、复制压缩包里的main到ware模块里

5、引入gulimall-common

6、配置application.yml

spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://192.168.56.10:3306/gulimall_wms
    driver-class-name: com.mysql.jdbc.Driver

mybatis-plus:
  mapper-locations: classpath:/mapper/**/*.xml
  global-config:
    db-config:
      id-type: auto # 自增主键

server:
  port: 11000

8、启动主程序

9、启动成功后输入网址http://localhost:11000/ware/purchase/list,显示以下信息

image-20220419135904351
89139)]

4、复制压缩包里的main到ware模块里

5、引入gulimall-common

6、配置application.yml

spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://192.168.56.10:3306/gulimall_wms
    driver-class-name: com.mysql.jdbc.Driver

mybatis-plus:
  mapper-locations: classpath:/mapper/**/*.xml
  global-config:
    db-config:
      id-type: auto # 自增主键

server:
  port: 11000

8、启动主程序

9、启动成功后输入网址http://localhost:11000/ware/purchase/list,显示以下信息

image-20220419135904351

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值