文章目录

  • 一、配置generator
  • 二、生成代码
  • 三、工具类与依赖
    • mybatis-plus依赖
    • lombok依赖
    • commons-lang依赖
    • servlit-api依赖
    • 导入mysql驱动
    • utils工具类

代码生成器:https://gitee.com/guo-qianliang/renren-generator
使用git命令将上面的代码生成器克隆到本地后,手动导入IDEA中并聚合到电商项目中。

一、配置generator

application.yml中配置数据库连接信息
generator.properties中配置IDEA中的默认包名、数据库表前缀等信息。


二、生成代码

勾选所有表,点击生成代码按钮。


直接将生成的代码的main文件夹复制到项目的src文件下。

三、工具类与依赖

创建MavenModule命名为gulimall-common:后来微服务需要的公共依赖公共类bean都写在其中。让每一个微服务都依赖common。

mybatis-plus依赖

导入mybatis-plus依赖后,Controller层将不再报错。

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

lombok依赖

导入lombok依赖后,简化基本的POJO的getter/setter/toString等操作。

        <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.8</version></dependency>

commons-lang依赖

commons-lang依赖主要提供一些基础的、通用的操作和处理,如自动生成toString()的结果、自动实现hashCode()和equals()方法、数组操作、枚举、日期和时间的处理等。

        <dependency><groupId>commons-lang</groupId><artifactId>commons-lang</artifactId><version>2.6</version></dependency>

servlit-api依赖

注意:tomcat中也会自带servlit-api,所以需要将项目中的此依赖的scope设置为provided
引入此依赖主要是为了用到HttpServletRequest和HttpServletResponse等对象。

        <dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version><scope>provided</scope></dependency>

导入mysql驱动

为了使用mybatis-plus,而引入mysql驱动依赖。官方推荐使用8.0版本的依赖,此依赖兼容各种mysql数据库版本。

        <!--        mysql驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.22</version></dependency>

utils工具类

生产的代码中还会有缺少依赖报错,此时需要逐一从renren-fast模块中的utils中查找,并移动到公共依赖gulimall-common中。

  • HttpStatus报错:导入httpcore
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore -->
<dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpcore</artifactId><version>4.4.12</version>
</dependency>

人人开源自己的工具包,需要从generator中拿到公共依赖中。

注意:shiro的RequiresPermissions注解报错问题。由于我们使用SpringSecurity来替代,可以在generator的模板中将此处进行注释,重新生成代码,然后只将Controller文件替换到项目中即可。

使用代码生成器为微服务生成基本的CRUD代码相关推荐

  1. 《Spring Cloud与Docker微服务架构实战》配套代码

    不才写了本使用Spring Cloud玩转微服务架构的书,书名是<Spring Cloud与Docker微服务架构实战> - 周立,已于2017-01-12交稿.不少朋友想先看看源码,现将 ...

  2. 骚年快答 | 为何微服务项目都使用单体代码仓库?

    [答疑解惑]| 作者 / Edison Zhou 这是恰童鞋骚年的第265篇原创内容 之前在学习微软的示例eShopOnContainers时发现它使用的是单体代码仓库库,之后又发现大家在进行微服务项 ...

  3. java b2b 开源_springcloud微服务多用户商城系统java_代码开源_B2B电商系统_B2C电商系统...

    Spring Cloud是一系列框架的有序集合.利用Spring Boot的开发模式简化了分布式系统基础设施的开发,如服务发现.注册.配置中心.消息总线.负载均衡.断路器.数据监控等(这里只简单的列了 ...

  4. 亿级流量电商详情页系统实战(完整版):缓存架构+高可用服务架构+微服务架构(包含落地代码实操)

    链接:百度网盘 请输入提取码 提取码:l472 更多儒猿专栏~ 欢迎关注儒猿技术窝

  5. 使用MyBatis Generator自动生成持久层CRUD代码的两种方法

    最近在使用MyBatis,得知可以利用MyBatis Generator自动生成实体类.DAO接口和Mapping映射文件.当数据库中的表多的时候,让你不用再手写Mapping映射文件,和实体类,就可 ...

  6. 这12张手绘图,让我彻底搞懂了微服务架构!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:tengshe789 juejin.im/post/5c0b ...

  7. 为什么通过微服务的方法构建应用程序?

    作为软件开发人员,我们已知道思考如何将应用程序因数分解成组件部分. 这是对象导向.软件抽象和组件化的中心模式. 现在,这种因数分解往往以共享库和技术层之间的类与接口呈现. 通常采用一种分层方法,有后端 ...

  8. 微服务架构10个最重要的设计模式

    自从软件开发的早期(1960年代)以来,解决大型软件系统中的复杂性一直是一项艰巨的任务.多年来,软件工程师和架构师为解决软件系统的复杂性进行了许多尝试:David Parnas的模块化和信息隐藏(19 ...

  9. 微服务架构实施原理详解

    作者:风中程序猿 原文:cnblogs.com/fangfuhai 1 题记 基于微服务架构和Docker容器技术的PaaS云平台建设目标是给我们的开发人员提供一套服务快速开发.部署.运维管理.持续开 ...

  10. 一步一图,带你重头梳理微服务架构!

    什么是微服务? 微服务 Microservices 之父,马丁.福勒,对微服务大概的概述如下: 就目前而言,对于微服务业界并没有一个统一的.标准的定义(While there is no precis ...

最新文章

  1. IT运维管理员如何写好一份年终总结?
  2. SharePoint 向多行文本类型字段插入特殊类型链接
  3. java虚拟机性能监控调优及原则
  4. java 制作快捷键,Java快捷键制作
  5. python可以用来写导航吗_在python中使用selenium进行导航
  6. Shader预处理宏、内置状态变量、多版本编译等
  7. jquery datatables api (转)
  8. 亲测:华为老爷机安装谷歌框架
  9. oracle语句执行过程
  10. 我们为什么要推广经方?
  11. 计算机学院网络安全学院,网络空间安全学院
  12. 2019西工大计算机类排名,西北工业大学2019年排名第31位 较2018年上升1名
  13. 【愚公系列】2021年12月 Redis数据库-主从的搭建
  14. 解决MATLAB绘图延迟问题的一种方法
  15. Unity编辑器扩展: 程序化打图集工具
  16. Elixir-Basic types 之 Binaries、strings、charlist
  17. FPGA学习笔记【FPGA原理与结构】
  18. nginx收集request_body、response_body
  19. Linux 网卡实时流量查看脚本
  20. 求序列中第k小的数_推荐算法序列建模现状

热门文章

  1. 图片短链接生成器在线
  2. 高等数学张宇18讲 第二讲 极限与连续
  3. php第三方支付sdk,第三方支付 SDK
  4. php mktime 2037,phpmktime计算两时间之差_PHP教程
  5. vs2010开发activex(MFC)控件/ie插件(三),js调用ocx控件的接口函数
  6. ubuntu 下文件/文件夹 比较工具 DiffMerge
  7. c++——使用PlaySound()播放声音
  8. JVM内存管理及垃圾回收机制
  9. 达梦数据库同步部署方案
  10. 选择排序(java代码实现)