小前端闲来无事接触接触JAVA,刚学了下Spring,打算采用JPA去开发,后面了解到了Mybatis-Plus的快乐之处,就想把心得分享一下,这里有些是借鉴别人的地方。

首先引入依赖

 <!-- mybatis-plus --><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.3.1.tmp</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.3.1.tmp</version></dependency><!-- 添加 模板引擎 依赖 --><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId><version>2.2</version></dependency>

然后maven执行包下载操作,等包下载完成后,在test测试下新建一个代码生成器测试类TextCodeGenerate,这里自己随便命名,然后就开始写一个静态方法,先默认构造对象AutoGenerator

AutoGenerator auto = new AutoGenerator();

接着,进行第一步:全局配置

 // 全局配置GlobalConfig glob = new GlobalConfig();// 填写代码生成的目录  (需要修改)String projectPath = "E:\\JavaBook\\spring-mybatisPlus-study";// 拼接出代码最终输出的目录glob.setOutputDir(projectPath + "/src/main/java");// 配置开发者信息 (可选)  (需要修改)glob.setAuthor("sumer");// 配置是否打开目录 false 为不打开 (可选)glob.setOpen(false);// 重新生成文件时是否覆盖(重要) (可选)glob.setFileOverride(true);// 配置文件生成策略 此处为 ASSIGN_ID (可选)glob.setIdType(IdType.ASSIGN_ID);// 配置日期类型 此处为 ONLY_DATE (可选)glob.setDateType(DateType.ONLY_DATE);// 默认生成service 会有I前缀glob.setServiceName("%sService");auto.setGlobalConfig(glob);

接着实行第二部操作:数据源配置

 // 数据源配置 (需要修改)DataSourceConfig data = new DataSourceConfig();// 配置数据库url 地址data.setUrl("jdbc:mysql://localhost:3306/sumerPlus?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai");// 配置数据库驱动data.setDriverName("com.mysql.cj.jdbc.Driver");// 配置数据库连接用户名data.setUsername("root");// 配置数据库链接密码data.setPassword("123456");auto.setDataSource(data);

然后,进行第三步:包配置

  // 包配置 (需要修改)PackageConfig pack = new PackageConfig();// 配置父包名pack.setParent("com.sumer");// 配置模块名pack.setModuleName("");// 配置 entity 包名pack.setEntity("entity");// 配置 mapper 包名pack.setMapper("mapper");// 配置 service 包名pack.setService("service");// 配置 controller 包名pack.setController("controller");auto.setPackageInfo(pack);

其次,还需要对数据库进行一些映射操作:策略配置

// 策略配置(数据库表配置)
StrategyConfig sql = new StrategyConfig();
// 指定表名(可指定多个表名,用,分隔开来)(添加数据库表)
sql.setInclude("user","job");
// 配置数据表与实体类名之间映射的策略
sql.setNaming(NamingStrategy.underline_to_camel);
// 配置数据库表的字段与实体类的属性名之间的映射的策略
sql.setColumnNaming(NamingStrategy.underline_to_camel);
// 配置 lombok 模式
sql.setEntityLombokModel(true);
// 配置 rest 风格的控制器 (@RestController)
sql.setRestControllerStyle(true);
// 配置驼峰转连字符
sql.setControllerMappingHyphenStyle(true);
// 配置表名前缀,生成实体时去除表前缀
sql.setTablePrefix("");
auto.setStrategy(sql);

最终,执行代码生成命令

auto.execute();

整个代码

package com.sumer;import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.junit.jupiter.api.Test;public class TextCodeGenerate {  // 代码生成器测试类@Testvoid autoGenerate(){// 代码生成器AutoGenerator auto = new AutoGenerator();// 全局配置GlobalConfig glob = new GlobalConfig();// 填写代码生成的目录  (需要修改)String projectPath = "E:\\JavaBook\\spring-mybatisPlus-study";// 拼接出代码最终输出的目录glob.setOutputDir(projectPath + "/src/main/java");// 配置开发者信息 (可选)  (需要修改)glob.setAuthor("sumer");// 配置是否打开目录 false 为不打开 (可选)glob.setOpen(false);// 重新生成文件时是否覆盖(重要) (可选)glob.setFileOverride(true);// 配置文件生成策略 此处为 ASSIGN_ID (可选)glob.setIdType(IdType.ASSIGN_ID);// 配置日期类型 此处为 ONLY_DATE (可选)glob.setDateType(DateType.ONLY_DATE);// 默认生成service 会有I前缀glob.setServiceName("%sService");auto.setGlobalConfig(glob);// 数据源配置 (需要修改)DataSourceConfig data = new DataSourceConfig();// 配置数据库url 地址data.setUrl("jdbc:mysql://localhost:3306/sumerPlus?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai");// 配置数据库驱动data.setDriverName("com.mysql.cj.jdbc.Driver");// 配置数据库连接用户名data.setUsername("root");// 配置数据库链接密码data.setPassword("123456");auto.setDataSource(data);// 包配置 (需要修改)PackageConfig pack = new PackageConfig();// 配置父包名pack.setParent("com.sumer");// 配置模块名pack.setModuleName("");// 配置 entity 包名pack.setEntity("entity");// 配置 mapper 包名pack.setMapper("mapper");// 配置 service 包名pack.setService("service");// 配置 controller 包名pack.setController("controller");auto.setPackageInfo(pack);// 策略配置(数据库表配置)StrategyConfig sql = new StrategyConfig();// 指定表名(可指定多个表名,用,分隔开来)(添加数据库表)sql.setInclude("user","job");// 配置数据表与实体类名之间映射的策略sql.setNaming(NamingStrategy.underline_to_camel);// 配置数据库表的字段与实体类的属性名之间的映射的策略sql.setColumnNaming(NamingStrategy.underline_to_camel);// 配置 lombok 模式sql.setEntityLombokModel(true);// 配置 rest 风格的控制器 (@RestController)sql.setRestControllerStyle(true);// 配置驼峰转连字符sql.setControllerMappingHyphenStyle(true);// 配置表名前缀,生成实体时去除表前缀sql.setTablePrefix("");auto.setStrategy(sql);// 执行代码生成操作auto.execute();}}

这个时候,你会看到这样子

这个时候,自动化配置就好了,最后,记得在执行程序入口处添加mapper路径,指定要变成实现类的接口所在的包


这时候,就能快乐的去进行后端编写了!

Spring Mybatis-Plus一键代码结构生成相关推荐

  1. Mybatis最入门---代码自动生成(generatorConfig.xml配置)

    [一步是咫尺,一步即天涯] 经过前文的叙述,各位看官是不是已经被Mybatis的强大功能给折服了呢?本文我们将介绍一个能够极大提升我们开发效率的插件:即代码自动生成.这里的代码自动生成包括,与数据库一 ...

  2. java 云架构_java版Spring Cloud云架构代码结构构建

    本篇我们根据架构图进行代码的构建.根据微服务化设计思想,结合spring cloud一些优秀的项目,如服务发现.治理.配置化管理.路由负载.安全控制等优秀解决方案,使用Maven技术将框架进行模块化. ...

  3. 淘淘商城项目mysql服务器_SpringMVC+Spring+Mybatis+Mysql+Maven+Svn[ 淘淘商城项目环境搭建 ]...

    背景:淘淘商城项目的环境搭建 说明:采用SpringMVC+Spring+Mybatis+Mysql+Maven+Svn结构搭建,在开发之中可以参考其结构和搭建步骤去搭建实际的工程项目 工程结构简图: ...

  4. Spring Boot项目利用MyBatis Generator进行数据层代码自动生成

    概 述 MyBatis Generator (简称 MBG) 是一个用于 MyBatis和 iBATIS的代码生成器.它可以为 MyBatis的所有版本以及 2.2.0之后的 iBATIS版本自动生成 ...

  5. Spring Boot (七)MyBatis代码自动生成和辅助插件

    一.简介 1.1 MyBatis Generator介绍 MyBatis Generator 是MyBatis 官方出品的一款,用来自动生成MyBatis的 mapper.dao.entity 的框架 ...

  6. 【Spring框架家族】mybatis generator代码自动生成(看得上眼直接拿去用即可)

    小工具,直接上代码,有大佬看的上,拿去复制改改相关参数就好 基于idea上使用的 pom文件 <build><plugins><plugin><groupId ...

  7. 懒人 IDEA 插件推荐: EasyCode 一键帮你生成所需代码~

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:牛人 20000 字的 Spring Cloud 总结,太硬核了~ 作者:HeloWxl 链接:https:// ...

  8. spring cloud云服务架构 - particle云架构代码结构讲解

    上一篇我们介绍了spring cloud云服务架构 - particle云架构代码结构,简单的按照几个大的部分去构建代码模块,让我们来回顾一下: 第一部分: 针对于普通服务的基础框架封装(entity ...

  9. mybatis根据表逆向自动化生成代码(自动生成实体类、mapper文件、mapper.xml文件)

    若采用mybatis框架,数据库新建表,手动编写的话,需要编写大量的实体类.mapper文件.mapper.xml文件,都是一些重复且有规律的工作. 我们可以引用插件,然后做配置,自动生成这些文件,提 ...

最新文章

  1. Postfix+Amavisd-new+Spamassassin+ClamAV整合安装
  2. php过滤两个坐标,php判断两个坐标的方位角
  3. 编程之美计算0到N中包含数字1的个数
  4. SASS的一些使用体会(安装-配置-开启firefox的调试)
  5. c语言编译 64位,cmake – 编译32位和64位
  6. java中动态顺序死锁问题
  7. esxi安装openwrt_双软路由安装——ROS安装、上网、DNS缓存、常用设置(小白教程)...
  8. 深度学习表征的不合理有效性——从头开始构建图像搜索服务(一)
  9. 修复迁移后Net Standard项目中的错误
  10. Python笔记-字符串转json
  11. git 使用_Git-介绍与使用
  12. 经济学专业向计算机方向创业,基于市场需求的经济学专业人才培养模式研究
  13. 数据库学习--DDL(数据库定义语言)
  14. 智能门锁主要有哪些优势,具体是怎么分类的?
  15. 映美精IC Imageing Control .net控件调试问题
  16. 定积分定义求极限新花样
  17. 人,总要敢于直面自己的惨淡,才能挺直腰杆
  18. 产品数据管理(PDM)技术概述
  19. Google Maven Replacer Plugin插件详解
  20. IDEA 类中找不到main方法请将main方法定义为public static void main. 否则 JavaFX 应用程序类必须扩展javafx.application.Applicati

热门文章

  1. Android修改ro.debuggable 的第五种方法
  2. 【读书笔记】《红玫瑰与白玫瑰》
  3. 向上取整、向下取整与四舍五入(易理解版)
  4. lnk306dn引脚功能_LNK306DN
  5. 计算机主板会自动切断电源是怎么回事,电脑开机自动断电怎么办
  6. 云慧计算机有限公司触屏,工业平板电脑触摸屏使用注意事项
  7. Uploadify的用法
  8. C - 开门人和关门人(结构体+sort)
  9. 基于PyQt5、metpy和matplotlib的探空资料可视化界面
  10. Gym 100685A Ariel (运算)