【谷粒学院】开发篇二:后台管理系统搭建逆向生成代码

后台管理系统介绍

在这里插入图片描述

本篇文章主要内容如下:


1.使用人人开源人人开源绞手架搭建后台管理系统的前端和后端框架。


2.使用renren-generator逆向生成微服务(gulimall_pms、gulimall_oms、gulimall_sms、gulimall_ums、gulimall_wms)的CRUD代码。

后台管理系统搭建(人人开源绞手架)

在这里插入图片描述

克隆项目

  • clone renren-fast、renren-fast-vue项目,将renren-fast集成到gulimall
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

搭建后台管理系统后端

  • 创建后台管理系统数据库,并创建数据库表
    在这里插入图片描述 在这里插入图片描述
  • 修改数据库配置信息
    在这里插入图片描述
  • 启动项目
    在这里插入图片描述

搭建后台管理系统前端

使用VSCode打开 renren-fast-vue

安装Node.js

Node.js是一个基于Chrome V8 引擎的JavaScript 运行环境。NPM 是随同NodeJS 一起安装的包管理工具,类似于 Java Maven;

  • 官网下载安装node.js,并使用node -v 检查版本
    在这里插入图片描述
  • 配置npm 使用淘宝镜像:npm config set registry http://registry.npm.taobao.org/
  • 大家如果 npm install 安装依赖出现chromedriver之类问题,先在项目里运行下面命令
    • npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
    • 然后再运行npm install

安装所需依赖

  • 运行 npm install 安装所需依赖
    在这里插入图片描述
  • 下载完的依赖均在node_modules文件夹中
    在这里插入图片描述

运行项目

  • 运行 npm run dev 启动项目
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

逆向生成微服务CRUD代码(renren-generator)

使用renren-generator根据数据库(gulimall_pms、gulimall_oms、gulimall_sms、gulimall_ums、gulimall_wms)逆向生成代码。


下面以生成pms代码为例进行记录。

生成代码

clone renren-generator

  • clone renren-generator项目并集成到gulimall

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 修改数据库配置信息和代码生成信息
    在这里插入图片描述
    在这里插入图片描述

  • 修改Controller生成模板,注释掉RequiresPermissions注解, 后面使用Spring Security

    在这里插入图片描述
    在这里插入图片描述

代码逆向生成

  • 启动并访问项目
    在这里插入图片描述
    在这里插入图片描述
  • 选中表进行代码生成,生成的代码会以压缩包的形式下载下来
    在这里插入图片描述
  • 解压后拷贝到对应的项目目录中
    在这里插入图片描述

创建gulimall-common公共依赖模块

创建公共服务模块导入微服务所需要的公共依赖

  • 创建公共依赖模块
    在这里插入图片描述

    <description>每一个微服务公共的依赖,bean,工具等</description>
    
  • 在微服务中导入该模块的依赖

    <dependency><groupId>com.atguigu.gulimall</groupId><artifactId>gulimall-common</artifactId><version>0.0.1-SNAPSHOT</version>
    </dependency>
    

在公共服务引入所需的依赖和类

  • 所需依赖

    <!-- 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>
    
  • 所需公共类从renren-fast中拷贝
    在这里插入图片描述

整合MyBatis-Plus

导入依赖

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

配置数据源

  • 在gulimall-common模块中导入数据库驱动

    <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.17</version></dependency>
    
  • 在application.yml配置数据源相关信息和启动端口

    spring:datasource:username: rootpassword: rooturl: jdbc:mysql://192.168.217.138:3306/gulimall_pms?useSSL=falsedriver-class-name: com.mysql.jdbc.Driver
    server:port: 7000
    

配置MyBatis-Plus

  • 使用@MapperScan

    @MapperScan("com.atguigu.gulimall.product.dao")
    @SpringBootApplication
    public class GulimallProductApplication {public static void main(String[] args) {SpringApplication.run(GulimallProductApplication.class, args);}}
    
  • 在application.yml配置MyBatis-Plus SQL映射文件位置,并设置主键自增

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

代码测试

  • 测试胆码
    在这里插入图片描述
@RunWith(SpringRunner.class)
@SpringBootTest
public class GulimallProductApplicationTests {@AutowiredBrandService brandService;@Testpublic void contextLoads() {BrandEntity brandEntity = new BrandEntity();brandEntity.setDescript("");brandEntity.setName("huawei");brandService.save(brandEntity);System.out.println("save successful!");}}
  • 此时结果显示数据成功插入
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/54037.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探索图结构:从基础到算法应用

文章目录 理解图的基本概念学习图的遍历算法学习最短路径算法案例分析&#xff1a;使用 Dijkstra 算法找出最短路径结论 &#x1f389;欢迎来到数据结构学习专栏~探索图结构&#xff1a;从基础到算法应用 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x1f379;✨博客主页&#xff1a;I…

Jmeter常用线程组设置策略

一、前言 ​ 在JMeter压力测试中&#xff0c;我们时常见到的几个场景有&#xff1a;单场景基准测试、单场景并发测试、单场景容量测试、混合场景容量测试、混合场景并发测试以及混合场景稳定性测试 在本篇文章中&#xff0c;我们会用到一些插件&#xff0c;在这边先给大家列出&…

一款轻量级开发者工具,提高开发效率

Devkits Devkits 是一款轻量级桌面端应用&#xff0c;提供了一系列开发者工具&#xff0c;提高开发效率。 离线。类似的在线工具已经不少了&#xff0c;但是大多数都是在线的&#xff0c;网络不好的时候就很难用了。Devkits 提供了离线使用的功能&#xff0c;可以在没有网络的…

Vue2向Vue3过度Vue3组合式API

目录 1. Vue2 选项式 API vs Vue3 组合式API2. Vue3的优势3 使用create-vue搭建Vue3项目1. 认识create-vue2. 使用create-vue创建项目 4 熟悉项目和关键文件5 组合式API - setup选项1. setup选项的写法和执行时机2. setup中写代码的特点3. <script setup>语法糖 6 组合式…

反射机制-体会反射的动态性案例(尚硅谷Java学习笔记)

// 举例01 public class Reflect{ // 静态性 public Person getInstance(){return new Person(); }// 动态性 public T<T> getInstance(String className) throws Exception{Calss clzz Class.forName(className);Constructor con class.getDeclaredConstructor();con…

linux————haproxy

一、概述 HAProxy是一个免费的负载均衡软件&#xff0c;可以运行于大部分主流的Linux操作系统上&#xff08;CentOS、Ubuntu、Debian、OpenSUSE、Fedora、麒麟、欧拉、UOS&#xff09;。 HAProxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力&#xff0c;具备丰富的功能。HAProxy具…

无涯教程-PHP.INI File Configuration函数

PHP配置文件php.ini是影响PHP功能的最终且最直接的方法。每次初始化PHP时都会读取php.ini文件。换句话说,无论是模块版本的httpd重新启动还是CGI版本的每次脚本执行都重新启动。如果未显示您的更改,请记住停止并重新启动httpd。 该配置文件已注释完整。键区分大小写,关键字值不…

python实现的淘宝自动发货脚本

pyhton # 文件用ini # 自动应答&#xff0c;自动点发货

leetcode496. 下一个更大元素 I 【单调栈】

【简单题】&#xff08;暴力遍历法很简单&#xff09;但是时间复杂度很高&#xff0c;n的立方级别了。。。 代码&#xff1a; class Solution { public:vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) {vector<int&g…

gitee远程仓库——Git常用远程仓库托管服务

远程仓库 我们的代码不能总是放在本地&#xff0c;因为总是放在本地&#xff0c;一旦电脑出现故障&#xff0c;数据将丢失&#xff0c;怎么共享呢&#xff1f;这里我们需要一个服务器&#xff0c;我们可以把代码放到服务器上&#xff0c;然后让别人下载&#xff0c;这样我们既…

k8s-dashboard使用指导手册

一、访问 dashboard http://172.66.209.101:32001 二、选择 Namespace 如下图&#xff1a; 1 在①搜索框中输入 spms 2 在②选择 spms-cloud 三、查找 pod 1 打开 pod 列表 2 打开过滤窗口 3 搜索 pod 在打开的搜索框中输入 pod的关键字&#xff0c;支持模糊搜索 如搜索…

“石头剪刀布”游戏:while、函数自调用实现循环游戏

if…else实现“石头剪刀布”游戏&#xff0c;while、函数自调用实现循环游戏。 (本笔记适合学过if…else的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖免费“圣经”教程《 python 完全自学教程》&#xff0c…

ArcGIS学习总结(19)——要素转点与空间连接(属性表字段映射)

1.在新创建的面矢量数据的属性表中没有对应的字段信息&#xff0c;为了能够和有属性信息的数据进行匹配&#xff0c;使其具有对应字段的信息。 2.需要匹配的矢量文件属性表信息。 3.对新创建的矢量文件执行要素转点&#xff1a;数据管理工具→要素→要素转点。 4.选择分析工…

Docker安装MySQL、Redis如何自启?

1、问题&#xff1a; Docker自启&#xff1a;http://t.csdn.cn/L2v55 重新启动虚拟机&#xff0c;Docker自动启动之后&#xff0c;发现MySQL、Redis都没有启动。 docker ps 没查到有启动的容器。 docker ps -a 查看所有的容器。 2、先使用 su root 命令&#xff0c;切换到root…

小程序如何手动变更会员卡等级

有时候需要商家手动变更会员卡等级&#xff0c;以让会员获取更多的福利和特权。下面就介绍一些小程序手动变更会员卡等级的常见方法和策略。 1. 找到指定的会员卡。在管理员后台->会员管理处&#xff0c;找到需要更改等级的会员卡。也支持对会员卡按卡号、手机号和等级进行…

盖雅工场获评2023年度苏州市服务型制造示范企业(平台)

苏州市工信局公布 2023年度苏州市服务型制造示范企业&#xff08;平台&#xff09;名单 遴选出服务型制造示范企业34家 服务型制造示范平台19个 苏州盖雅信息技术有限公司 “劳动力管理SaaS云平台服务” 获评2023年度苏州市服务型制造示范平台 全市唯一获评的人力资源服务…

7.接着跑一下triton官方教程

5.Model Ensemble 在此示例中&#xff0c;我们将探索使用模型集成来仅通过单个网络调用在服务器端执行多个模型。这样做的好处是减少了在客户端和服务器之间复制数据的次数&#xff0c;并消除了网络调用固有的一些延迟。 为了说明创建模型集成的过程&#xff0c;我们将重用第…

C#__使用Thread启动线程和传输数据

class Program{static void Test(){Console.WriteLine("Start……");Thread.Sleep(2000); // 1s等于1000ms&#xff0c;暂停2sConsole.WriteLine("end");}static void Download(Object ob){string str ob as string; // 遍历传递过来的ob字符串Console.Wr…

[MySQL]主从服务器布置

配置主服务器 配置文件 /etc/my.cnf 在[mysqld]下进行配置 log_binON //启动二进制日志 log-bin mysql-bin //启用二进制日志&#xff0c;用于记录主服务器的更新操作 server-id 1 // 用来表示mysql服务id,保证集成环境中的唯一性 , 范围 [1,2^32) read-only0 // 1表示只…

爬虫逆向实战(二十二)--某恩数据电影票房

一、数据接口分析 主页地址&#xff1a;某恩数据 1、抓包 通过抓包可以发现数据接口是API/GetData.ashx 2、判断是否有加密参数 请求参数是否加密&#xff1f; 无请求头是否加密&#xff1f; 无响应是否加密&#xff1f; 通过查看“响应”模块可以发现&#xff0c;响应是…