尝试搭建谷粒商城 记录(三)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44190665/article/details/121043585
————————————————

  版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/weixin_44190665/article/details/121043585

我是看这位博主的文章 记录一下自己的实践过程

1、人人开源逆向工程搭建

1、克隆renren-generator

2、删除其中的.git文件,复制到工程中,添加到父工程

3、父pom.xml中添加renren-generator

4、修改renren-generator的配置文件application.yml,配置自己的数据源

我是 先生成  gulimall-pms

5、修改生成器信息 generator.properties

 

如果出现中文乱码,按照图下设置:

6、修改src/main/resources/template/Controller.java.vm 

删除导入shiro的语句

注释掉该位置,此处的注释是shiro提供的,我们以后要用spring security

7、运行项目,访问localhost:80,选中所有表,

 

点击 生成代码 按钮 会下载一个压缩包

然后

8、解压缩文件夹 把mian文件夹复制到gulimall-product/src下

\resources\src\views\modules\product (前端文件,用不到) 

如果之前没有创建application.yml和启动类,手动创建 

9、解决生成的代码报错 

新建gulimall-common模块,用来引入每一个微服务公共的依赖、bean、工具类等 

先在父工程的pom.xml进行版本控制

<!-- 统一管理jar包版本 -->
    <properties>
        <mybatis-plus.version>3.4.1</mybatis-plus.version>
        <lombok.version>1.18.20</lombok.version>
        <httpcore.version>4.4.14</httpcore.version>
        <commons.lang.version>2.6</commons.lang.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>${mybatis-plus.version}</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${lombok.version}</version>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
            <version>${httpcore.version}</version>
        </dependency>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>${commons.lang.version}</version>
        </dependency>
    </dependencies>

在gulimall-common引入公共依赖 

<dependencies>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
        </dependency>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
        </dependency>
    </dependencies>

解决了dao、entity的报错。

接下来创建公共类解决service报错

在gulimall-common中按照要求创建包,引入PageUtils、Query、R、exception(在renren-fast里面复制)

复制xss下面的HTMLFilter、SQLFilter

一共就是这些 需要复制到common下

 2. 测试基本的CRUD功能

1、在gulimall-common中导入mybatis-plus依赖 和其他可能需要的依赖

2、给gulimall-product 配置数据源

新建一个application.yml文件

server:
  port: 10000
spring:
  datasource:
    #MySQL配置
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.127.129:3306/gulimall-pms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: 123456

mybatis-plus:
  configuration:
    #数据库下划线和实体类驼峰统一
    map-underscore-to-camel-case: true
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  global-config:
    db-config:
      id-type: auto
    banner: false
  #告诉mp,sql映射文件的位置,默认值classpath*:/mapper/**/*.xml。
  #  classpath表示只引用现在模块的类路径。lasspath*表示不止引用现在模块的类路径,还包括依赖jar包的类路径
  mapper-locations: classpath:/mapper/*/*.xml

其中的 MySQL配置那块的url、username、password需要修改为自己的

3、测试

新建测试类

GulimallProductApplicationTests.java 注意:测试类所在的包名需要和主启动类包名一致
package io.zdd.gulimall.product;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import io.zdd.gulimall.product.entity.BrandEntity;
import io.zdd.gulimall.product.service.BrandService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.List;


@SpringBootTest(classes = GulimallProductApplication.class)
@RunWith(SpringRunner.class)
public class GulimallProductApplicationTests {

    @Autowired
    private BrandService brandService;

    @Test
    public void testBrand(){
        BrandEntity brandEntity = new BrandEntity();
        brandEntity.setName("华为");
        brandService.save(brandEntity);
        System.out.println("保存成功");
        List<BrandEntity> list = brandService.list(
                new LambdaQueryWrapper<BrandEntity>().eq(BrandEntity::getName, "华为")
        );
        System.out.println(list);
        System.out.println("aaaa");
    }

}

然后运行这个测试类或者这个测试类下的这个方法,这条测试passed (虽然控制台可能会报一些警告或者错误),但是最终这条测试是passed, 可以暂且忽略这些信息

查看数据库,发现新增一条数据成功

同理自测删除、修改、查询。

 测试查询所有Brand如下:

 3、快速生成所有CRUD代码

1、先配置微服务端口

为了方便查看,模块名 = 端口 ====== 数据库:

gulimall-coupon (优惠券模块) = 7000 =====对应数据库(gulimall_sms)

gulimall-member (用户模块) = 8000 =====对应数据库(gulimall-ums)

gulimall-order (订单模块) = 9000 =====对应数据库(gulimall_oms)

gulimall-product (商品模块) = 10000 =====对应数据库(gulimall-pms)

gulimall-ware (仓储模块) = 11000 =====对应数据库(gulimall_wms)

如果没有主启动类 ,自己创建一个 

2、修改生成器代码配置,要修改三个位置

renren-generator项目中的 

1、application.yml  文件 url 地址 (数据库名)

2、generator.properties 文件 moduleName

3、generator.properties 文件 tablePrefix (表前缀,不是数据库前缀哦~,我因为之前导数据库的时候,有两个数据库名给弄错了 应该是_但是写成了-,所以如果有友友也是这个样子,需要注意下哦~)

生成coupon的代码,复制到工程中,并在gulimall-coupon工程中引入gulimall-common依赖 

3、gulimall-coupon 优惠券

生成coupon的代码,复制到gulimall-coupon的main文件夹,

并在gulimall-coupon工程中引入gulimall-common依赖及其他的依赖,可直接粘贴product的pom.xml文件的所有依赖)

测试没问题(*^▽^*)!!:

成功往sms_coupon表中 添加一条Coupon数据

访问http://localhost:7000/coupon/coupon/list测试

测试成功!

 4、gulimall-member 会员

修改renren-generator的两个文件 数据库的url为gulimall-ums

gulimall-member (用户模块) = 8000(端口) =====对应数据库(gulimall-ums)

然后运行 生成代码 替换掉gulimall-member的main文件夹

修改gulimall-member的pom.xml 依赖(复制coupon的pom.xml依赖粘贴过去)

添加一条Member会员信息到ums_member里面去

访问http://localhost:8000/member/member/list测试 

测试成功!

5、gulimall-order 订单

修改 renren-generator 的两个文件 数据库的url为 gulimall_oms

gulimall-order (订单模块) = 9000 =====对应数据库(gulimall_oms)

然后运行 生成代码 替换掉gulimall-order 的main文件夹

修改gulimall-order的pom.xml 依赖(复制member的pom.xml依赖粘贴过去)

添加一条Order 订单数据到 oms_order 表里面去

测试成功!

6、gulimall-ware 仓储

修改 renren-generator 的两个文件 数据库的url为 gulimall_wms

gulimall-ware (仓储模块) = 11000 =====对应数据库(gulimall_wms)

然后运行 生成代码 替换掉gulimall-ware 的main文件夹

修改gulimall-ware的pom.xml 依赖(复制member的pom.xml依赖粘贴过去)

添加一条 WareInfo 仓储数据到 wms_ware_info 表里面去

 

 

测试成功!

  • 22
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值