文章目录
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
,看见下图所示界面
8、可以看到pms数据库中的表信息
9、勾选所有表后点击生成代码,坑:注意调整显示条目数
10、将压缩包里的main复制替换掉gulimall-product模块里的main目录
2.3 创建gulimall-common
1、以maven创建gulimall-common
2、在其他所有模块里加入gulimall-common的依赖
3、把renren-fast里的一些文件复制到gulimall-common里,如果有报错就继续复制
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 配置
-
配置数据源
-
导入mysql驱动
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.17</version> </dependency>
-
在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
-
-
配置mybatis-plus
-
在主启动类上标注@MapperScan
@SpringBootApplication @MapperScan("com.atguigu.gulimall.product.dao") public class GulimallProductApplication { public static void main(String[] args) { SpringApplication.run(GulimallProductApplication.class, args); } }
-
告诉mybatis-plus,SQL映射文件的位置
mybatis-plus: mapper-locations: classpath:/mapper/**/*.xml
-
配置自增主键,在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、查看数据库数据,测试成功
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、启动主启动类,生成代码
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,显示以下信息
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、启动主启动类,生成代码
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,显示以下信息
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,显示以下信息
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
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,显示以下信息
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,显示以下信息