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

news2024/12/24 21:42:36

后台管理系统介绍

在这里插入图片描述

本篇文章主要内容如下:


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: root
        password: root
        url: jdbc:mysql://192.168.217.138:3306/gulimall_pms?useSSL=false
        driver-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/**/*.xml
      global-config:
        db-config:
          id-type: auto #设置主键自增
    

代码测试

  • 测试胆码
    在这里插入图片描述
@RunWith(SpringRunner.class)
@SpringBootTest
public class GulimallProductApplicationTests {

	@Autowired
	BrandService brandService;

	@Test
	public void contextLoads() {

		BrandEntity brandEntity = new BrandEntity();
		brandEntity.setDescript("");
		brandEntity.setName("huawei");
		brandService.save(brandEntity);
		System.out.println("save successful!");
	}

}
  • 此时结果显示数据成功插入
    在这里插入图片描述

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

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

相关文章

前端高频面试题 js中堆和栈的区别和浏览器的垃圾回收机制

一、 栈(stack)和 堆(heap) 栈(stack)&#xff1a;是栈内存的简称&#xff0c;栈是自动分配相对固定大小的内存空间&#xff0c;并由系统自动释放&#xff0c;栈数据结构遵循FILO&#xff08;first in last out&#xff09;先进后出的原则&#xff0c;较为经典的就是乒乓球盒结…

机器学习---LDA代码

1. 获取投影坐标 import numpy as npdef GetProjectivePoint_2D(point, line):a point[0]b point[1]k line[0]t line[1]if k 0: return [a, t]elif k np.inf: return [0, b]x (ak*b-k*t) / (k*k1)y k*x treturn [x, y] 该函数用于获取一个点到一条直线的投影点…

以物联网为核心的智慧工地云平台:聚集智能技术,实现建筑工地智慧管理

智慧工地云平台源码&#xff0c;智慧工地项目监管平台源码&#xff0c;智慧工地可视化数据大屏源码 智慧工地云平台是将云计算、大数据、物联网、移动技术和智能设备等信息化技术手段&#xff0c;聚集在建筑工地施工管理现场&#xff0c;围绕人员、机械、物料、环境等关键要素&…

网络安全(黑客)——自学日薪2700

以下是练习舞蹈时长两年半的苕皮哥的故事 你想想一个跨专业的都能拿到日薪2700&#xff0c;你上你也行&#xff0c;那么接下来就是我给大家&#xff0c;整理的网络安全学习思路&#xff0c;让大家斩获高薪&#xff01; 前言&#xff1a; 想自学网络安全&#xff08;黑客技术&am…

秦丝九周年 | 秦丝生产ERP,全新一代服装ERP、SCM

秦丝九周年的主题是“数字生意&#xff0c;经九长兴”&#xff0c;通过数字化工具帮助更多商家开启数字生意&#xff0c;改变传统的低效率的工作&#xff0c;提供更加简单高效地把生意做大做强。 在帮助200万商家通过数字化工具管理零售、批发、连锁门店的同时&#xff0c;秦丝…

_数字矩阵

题目&#xff1a;一个3阶的数字矩阵如下&#xff1a; 1 2 3 8 9 4 7 6 5 现在给定数字n(1<n≤20)&#xff0c;输出n阶数字矩阵。 思路&#xff1a; 放出一条好玩的贪吃蛇&#xff0c;按照右下左上的顺序吃蛋糕&#xff0c;一边吃蛋糕&#xff0c;一边拉数字&#xff1b…

[C++ 网络协议] 套接字的多种可选项

目录 1. 套接字的可选项 2. 获取/设置套接字可选项 2.1 getsockopt函数&#xff08;获取套接字可选项&#xff09; 2.2 setsockopt函数&#xff08;设置套接字可选项&#xff09; 3. 常用套接字可选项 3.1 SOL_SOCKET协议层的SO_TYPE可选项 3.2 SOL_SOCKET协议层的SO_SN…

【八股】2023秋招八股复习笔记4(MySQL Redis等)

文章目录 目录1、MySQLmysql索引实现mysql索引优化mysql索引失效的情况mysql 千万数据优化mysql 事务隔离级别 & 实现原理mysql MVCC版本链&#xff08;undo log&#xff09;mysql数据同步机制 & 主从复制 &#xff08;binlog&#xff09;mysql 日志&数据恢复&…

git及GitHub的使用

文章目录 git在本地仓库的使用github使用创建仓库https协议连接(不推荐&#xff0c;现在用起来比较麻烦)ssh连接&#xff08;推荐&#xff09;git分支操作冲突处理忽略文件 git在本地仓库的使用 1.在目标目录下右键打开git bash here 2.创建用户名和邮箱(注&#xff1a; 下载完…

户外跑步用什么耳机、户外运动耳机推荐

跑步是一项简单的运动&#xff0c;只需要交替迈左右腿就可以进行。然而&#xff0c;跑步有时可能变得单调乏味。即使是意志坚定、热爱跑步的人&#xff0c;在这个漫长的过程中也会感到乏味&#xff0c;更不用说像你我这样的普通跑者了。音乐能够让跑步变得更加有趣&#xff0c;…

Java小白基础自学阶段(持续更新...)

引言 Java作为一门广泛应用于企业级开发的编程语言&#xff0c;对初学者来说可能会感到有些复杂。然而&#xff0c;通过适当的学习方法和资源&#xff0c;即使是小白也可以轻松掌握Java的基础知识。本文将提供一些有用的建议和资源&#xff0c;帮助小白自学Java基础。 学习步骤…

【80天学习完《深入理解计算机系统》】第十天 3.3 条件码寄存器【CF ZF SF OF】【set】

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客&#xff0c;如有问题交流&#xff0c;欢迎评论区留言&#xff0c;一定尽快回复&#xff01;&#xff08;大家可以去看我的专栏&#xff0c;是所有文章的目录&#xff09;   文章字体风格&#xff1a; 红色文字表示&#…

R语言之数据框的合并

文章和代码已经归档至【Github仓库&#xff1a;https://github.com/timerring/dive-into-AI 】或者公众号【AIShareLab】回复 R语言 也可获取。 文章目录 1.纵向合并&#xff1a;rbind( )2. 横向合并&#xff1a;cbind ( )3. 按照某个共有变量合并&#xff1a;merge( )full_joi…

测开面经分享(偏Python)

某基金管理公司线下测试开发面试题总结。 预计阅读时间&#xff1a; 25分钟 测开题目如下 可以尝试自己先写&#xff0c;写完之后再去看参考解法哦 ~ 1、编写一段代码&#xff0c;把 list 的数平方(语言不限) ListA [1, 3, 5, 7, 9, 11] 2、使用 Python 语言编写一个日志…

如何把本地项目上传github

一、在gitHub上创建新项目 【1】点击添加&#xff08;&#xff09;-->New repository 【2】填写新项目的配置项 Repository name&#xff1a;项目名称 Description &#xff1a;项目的描述 Choose a license&#xff1a;license 【3】点击确定&#xff0c;项目已在githu…

大语言模型之五 谷歌Gemini

近十年来谷歌引领着人工智能方向的发展&#xff0c;从TensorFlow到TPU再到Transformer&#xff0c;都是谷歌在引领着&#xff0c;然而&#xff0c;在大语言模型上&#xff0c;却被ChatGPT&#xff08;OpenAI&#xff09;抢了风头&#xff0c;并且知道GPT-4&#xff08;OpenAI&a…

基于Python的网上宠物用品销售网站SpringBoot+Vue宠物用品商城系统源码+lw

&#x1f495;&#x1f495;作者&#xff1a;计算机源码社 &#x1f495;&#x1f495;个人简介&#xff1a;本人七年开发经验&#xff0c;擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等&#xff0c;大家有这一块的问题可以一起交流&#xff01; &#x1f495;&…

java.lang.NullPointerException: null 不显示异常栈

一、问题 排查线上问题时&#xff0c;发现日志中异常输出的地方&#xff0c;仅有一行java.lang.NullPointerException: null&#xff0c;截图如下。 丢失了具体的异常栈&#xff0c;导致无法定位是哪行代码抛出了异常。 这里排除日志用法的问题&#xff0c;以前是正常能输出异…

设计模式--单例模式(Singleton Pattern)

一、什么是单例模式 单例模式是一种创建型设计模式&#xff0c;它旨在确保一个类只有一个实例&#xff0c;并提供一个全局访问点来访问该实例。换句话说&#xff0c;单例模式限制了类的实例化次数为一个&#xff0c;并提供一种在应用程序中共享一个实例的方式。这对于需要只有…

4 多层感知机-个人理解

多层感知机是一组前向结构的人工神经网络&#xff0c;映射一组输入向量到一组输出向量。除了输入节点&#xff0c;每一个节点都是一个带有非线性激活函数的神经元。多层感知机在输入层和输出层之间添加了一个或者多个隐藏层&#xff0c;并通过激活函数转换隐藏层输出。以下介绍…