当前位置: 首页 > 后端技术 > Java

基于MybatisPlus代码生成器(2.0新版)

时间:2023-04-02 01:24:51 Java

一、模块介绍1、功能亮点实时读取数据库表结构元数据信息,如表名、字段名、字段类型、注释等,选择修改表,点击一键生成,代码完成,可以显示表结构的变化。单表快速转换restful风格的API接口,对外暴露服务。对于上百张表的数据库,使用代码生成器可以提高开发效率。多表连接查询。多表连接查询默认不启用,需要在全局文件中手动配置。启用多表连接查询后,代码生成器会自动读取数据库元数据信息中的主外键关系,生成一对一、一对多、多对多三种样式的源代码分别。生成的代码接口可以通过Swagger暴露出来。2、运行依赖服务代码生成器运行依赖Mysql数据库,版本不限。Mysql数据库Mysql数据库中的库表结构是用户自定义的库表,代码生成时会读取。项目SQL脚本提供了5个测试表,方便测试。3、代码生成器2.0代码生成器升级内容如下:去除Redis服务强依赖去除登录依赖去除系统SQL脚本依赖当前代码生成器属于2.0版本。2.两种典型使用场景(1)CloneDemo工程,使用demo脚手架cmsdemo工程。脚手架是一个标准的SpringWeb项目。稍微修改配置文件即可快速上手。#移除脚手架,初始化项目gitclonehttps://gitee.com/decsa/demo-code.git1,修改数据库连接配置,运行测试SQL脚本,添加数据库表结构,开始体验代码生成功能。spring:datasource:url:jdbc:mysql://localhost:3306/ucode-cms用户名:root密码:1234562添加依赖查看pom文件是否包含代码生成器Maven包依赖,如果没有则添加如下依赖xin.altitude.cmsucode-cms-code-spring-boot-starter1.5.6.13.可视化界面配置完成以上连接后,启动项目。访问http://localhost:8080进入控制台界面。点击免登录进入代码生成器,进入管理界面。检查表结构,点击Generate,重启工程,对应代码生效。4.重启项目访问地址http://localhost:8080/doc.html访问接口列表。(2)独立创建项目独立创建项目,支持从头开始构建代码生成器运行环境,既支持嵌入现有项目,也支持新建项目。2.0版本重点优化了这部分内容。1.添加依赖xin.altitude.cmsucode-cms-code-spring-boot-starter1.5.6.1如果使用代码生成器功能,需要代码本地化生成依赖。2.配置数据库连接数据库连接配置对应的数据库应该包含生成代码的库表结构。spring:datasource:url:jdbc:mysql://localhost:3306/ucode-cms用户名:root密码:1234563启动项目后访问http://localhost:8080进入代码生成器控制台界面。选择对应的表,点击生成代码,将对应的代码添加到工程中。再次重启项目,访问http://localhost:8080/doc.html查看接口列表。3、高级使用完成简单的入门体验后,需要了解代码生成的高级部分,即全局配置。在项目中搜索类名CodeProperties可以查看所有内置的可修改参数,覆盖全局yml文件中的默认值即可完成修改,按需配置。1、单表处理当全局配置ucode.code.joinQuery=false或者使用默认配置时,只处理单表结构。将表名、字段名、字段类型、备注信息转换成SSM风格的源码。2、多表join全局配置ucode.code.joinQuery=true时,手动开启主外键查询,系统会自动读取表的主外键关系,并转化为源码的连接查询。3.主要参数参数ucode.code.projectDir默认值备注空用户自定义多模块工程需要指定工程名ucode.code.removeTablePrefixfalse是否根据需要生成代码时去除表前缀ucode.code.packageNamexin.altitude.front配置用户自己的包名ucode.code.useLomboktrue默认使用Lombokucode.code.filterSysTabletrue默认过滤不显示系统表ucode.code.joinQueryfalse是否使用join查询(默认单表查询)ucode。code.xml.addXmlfalse虽然不推荐使用XML文件写SQL,但是还是改进开关ucode.code.mapper.useCachetrue默认开启二级缓存,自定义服务缓存可以关闭。四、常见问题1、找不到依赖项?找不到依赖,很有可能是阿里云Vision仓库没有同步Jar包。在项目中的pom文件中添加如下配置:publicmavennexushttps://repo1.maven.org/maven2/alwaysalways2.项目打包发布时如何处理代码生成器依赖?建议在项目打包发布时手动移除代码生成器依赖。事实上,代码生成器的生命周期存在于开发阶段。手动不去掉对打包没有影响,但是还是建议打包的时候去掉codegenerator的依赖。xin.altitude.cmsucode-cms-code-spring-boot-starter1.5.6.13.多表连接查询异常表连接查询是一项复杂的业务,目前支持:一个员工对应一个部门(一对一),一个部门对应多个Employees(一对多),一个学生可以选修多门课程,每门课程可以由许多学生选修(多对多)。尚不支持更高级别的嵌套娃娃。4、生成的代码能否无缝迁移到新项目中?有能力的。生成的代码具有高度的可移植性,只需在新项目中导入默认依赖即可。如果找不到相关依赖,请参考问题1,有问题可以微信dream4s联系作者。源码在GitHub,视频讲解在B站,本文收集于博客世界。