10分钟构建前后端分离后台管理系统(renren-fast、renren-vue)-2

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 10分钟构建前后端分离后台管理系统(renren-fast、renren-vue)

product模块

1、引入common模块


生成的代码都要引入common模块,因为自定义的一些类都指定在了mall-common模块


2、配置文件


spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://192.168.1.12:3306/mall_pms?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
    driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
  global-config:
    db-config:
      id-type: auto
  mapper-locations: classpath:/mapper/**/*.xml
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

application.properties


用来配置端口和服务名称


# 应用名称
spring.application.name=mall-product
# 应用服务 WEB 访问端口
server.port=9999

3、启动类增加mappersan注解


这里强调下:


代码自动生成器生成的代码中,Mapper文件都加了@Mapper注解,所以我们不用加@MapperScan


如果你自己写的话,MapperScan是个更好的选择

@MapperScan("com.caq.mall.product.dao")

4、测试


package com.caq.mall;
import com.caq.mall.product.entity.BrandEntity;
import com.caq.mall.product.service.BrandService;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class MallProductApplicationTests {
    @Autowired
    private BrandService brandService;
    @Test
    void contextLoads() {
        BrandEntity brandEntity = new BrandEntity();
        brandEntity.setName("苹果");
        brandService.save(brandEntity);
    }
}
JDBC Connection [HikariProxyConnection@1371953731 wrapping com.mysql.cj.jdbc.ConnectionImpl@740dcae3] will not be managed by Spring
==>  Preparing: INSERT INTO pms_brand ( name ) VALUES ( ? )
==> Parameters: 苹果(String)
<==    Updates: 1

5、上传代码到github


上传失败可搜索我的文章,今天刚更新的


Java初学者必看,这篇文章


c28cbe816188678ea7be54d3ec12c73b_f3db8162c94f2bd534d9c1d3a29436a5.png


coupon模块

1、修改代码生成器配置文件


mainPath=com.caq
#\u5305\u540D
package=com.caq.mall
moduleName=coupon
#\u4F5C\u8005
author=xiaocai
#Email
email=mildcaq@gmail.com
#\u8868\u524D\u7F00(\u7C7B\u540D\u4E0D\u4F1A\u5305\u542B\u8868\u524D\u7F00)
tablePrefix=sms_

yml文件


server:
  port: 80
# mysql
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    #MySQL配置
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://192.168.1.12:3306/mall_sms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: root

2、重启服务,重新生成代码文件


88287d8d61d3414dce71ac79bbb04849_09a475d4297529cc273c77c24f5fe60f.png


3、拷贝代码,建立coupon配置文件


因为我们是通过SpringInit初始化的模块,所以每个模块都有自带的配置文件applicaiton.properties


改端口的话我们可以修改applicaiton.properties文件


spring:
  datasource:
    username: root
    password: root
    url: jdbc:mysql://192.168.1.12:3306/mall_sms?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
    driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
  mapper-locations: classpath:/mapper/**/*.xml
  global-config:
    db-config:
      id-type: auto

4、运行,测试


http://localhost:7000/coupon/coupon/list


{"msg":"success","code":0,"page":{"totalCount":0,"pageSize":10,"totalPage":0,"currPage":1,"list":[]}}

member模块

重复上述操作,改代码生成器配置文件,运行生成代码,拷贝代码到模块


拷贝后的代码,建立配置文件,改端口,运行


测试,没问题即可


f829510bc459157659ff713c06e6ec9f_5031c993324d1eea351fbda7359ada54.png


order模块


重复上述操作,改代码生成器配置文件(模块名,数据库名),运行生成代码,拷贝代码到模块


重复上述操作,拷贝后的代码,建立配置文件,改端口,运行


ware模块

重复上述操作,改代码生成器配置文件(模块名,数据库名),运行生成代码,拷贝代码到模块


重复上述操作,拷贝后的代码,建立配置文件,改端口,运行


Bug记录


npm install失败

开启v2ray等你懂得的软件,没有的话通过


清理缓存:npm rebuild node-sass

npm uninstall node-sass


重新下载:npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/


再次npm install 直到成功


还是失败?


删除node_moudle模块删除重新npm install


快速完成


导入项目后的pom问题

<relativePath></relativePath>这个作用是不依赖本地parent pom,直接从reposity拉取


不继承父类,相当于用自己的


<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>2.6.6</version>
   <relativePath></relativePath>
</parent>
在父pom文件,引入新加进来的模块
    <modules>
        <module>mall-product</module>
        <module>mall-coupon</module>
        <module>mall-member</module>
        <module>mall-order</module>
        <module>mall-ware</module>
        <module>mall-common</module>
        <module>renren-fast</module>
    </modules>

插件下载失败

其中docker的插件版本选择1.2.2可下载


有以下几种方式调试:


  • 设置多maven地址
  • 设置maven自动导入,删除本地这个包让他重新下载
  • 每次更改都要刷新、重启IDEA
  • 删除项目,重新克隆到本地

1a9aa132d1f84f049b150dcf55e0a5ae_aa543bad8f38c78cd5a695fc8aafc4a8.png

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
JSON 前端开发 API
TDesign中后台管理系统-用户登录
TDesign中后台管理系统-用户登录
|
负载均衡 网络协议 安全
slb选择监听协议和端口
阿里云SLB中,监听协议(TCP、HTTP、HTTPS)与端口(80、443等)决定客户端请求的处理方式。TCP适用于纯TCP或自处理HTTP的场景,HTTP用于智能调度Web服务,HTTPS提供安全的HTTP传输。监听端口通常匹配应用标准,如80 for HTTP,443 for HTTPS。配置时,可考虑HTTPS重定向和传递`X-Forwarded-Proto`头以识别请求来源。选择应基于业务需求和安全考虑。
731 3
|
前端开发
前端Vue3使用Moment Timezone处理不同时区时间
认识基本时间表示字符,UTC,GMT等,用 moment-timezone 这个插件来获取时区,同时获取带时区的时间字段,以便后续业务处理。
973 1
|
JavaScript 前端开发 安全
【Vue3 + Vite】6个非常强大的后台管理项目!开源且免费!
【Vue3 + Vite】6个非常强大的后台管理项目!开源且免费!
|
12月前
|
Java BI 数据安全/隐私保护
FineReport帆软设计器,远程连接服务器
FineReport帆软设计器,远程连接服务器
838 0
|
12月前
|
机器学习/深度学习 人工智能 安全
精选CRM软件:顶级客户关系管理工具深度剖析
本文综合评测2024年顶级CRM工具,依据功能性、用户体验、集成能力、数据安全、客户支持及成本效益六大标准,深度剖析纷享销客、Salesforce、Microsoft Dynamics 365、用友CRM和SAP CRM等软件,为企业选型提供参考。
|
数据安全/隐私保护
注册Github账号详细过程
注册GitHub账号前,请备妥有效电子邮件地址以接收验证信,设定独特的用户名(仅含字母、数字或单连字符,不以连字符起始或结束),并创建具有一定复杂度的密码。接着,访问GitHub官网(`https://github.com/`),点击右上角的“Sign up”进入注册页面。在此页面填写用户名、电子邮箱与密码,选择是否接收产品更新及公告,通过人机验证后提交。最后,通过注册邮箱内的验证链接完成验证,即可启用您的GitHub账号。
1054 0
|
存储 Java Linux
Maven 仓库
Maven仓库是管理项目依赖的存储位置,包括本地、中央和远程三种类型。本地仓库在首次执行Maven命令时创建,默认位于用户目录下的.m2/repository/。若本地缺少依赖,Maven会从远程仓库下载至本地。中央仓库由Maven社区维护,包含大量常用Java构件,无需配置,但需网络访问。开发者可通过http://search.maven.org/#browse搜索其内容。
|
存储 缓存 NoSQL
Redis从入门到精通之底层数据结构简单动态字符串(SDS)详解
SDS是Redis中的一种字符串类型,它是一种二进制安全的字符串,由简单动态字符串(SDS)实现。SDS支持多种数据结构,其中字符串(String)是最常用的一种数据结构之一。SDS的优点在于它可以避免C字符串常见的问题,比如缓冲区溢出和内存泄露等。SDS的常数复杂度获取字符串长度和杜绝缓冲区溢出可以避免使用strlen和strcat函数时的一些问题。同时,SDS的空间预分配和惰性空间释放两种策略可以减少修改字符串的内存重新分配次数。SDS也是二进制安全的,因为它不是以空字符串来判断字符串是否结束,而是以len属性表示的长度来判断字符串是否结束。SDS还兼容部分C字符串函数
905 88
Redis从入门到精通之底层数据结构简单动态字符串(SDS)详解