手机网站建设创意新颖,包头网站网站建设,wordpress ftp插件,网站建设的作用有哪些今天看别人使用了一个更加智能的生成代码工具#xff0c;可视化、可配置策略#xff0c;非常方便#xff0c;配置一次#xff0c;在哪都可以使用#xff0c;也不会跟项目藕合下面简单说一下使用方式。
1、介绍mybatis-plus-generator-ui
主要是封装了mybatis-plus-gener…今天看别人使用了一个更加智能的生成代码工具可视化、可配置策略非常方便配置一次在哪都可以使用也不会跟项目藕合下面简单说一下使用方式。
1、介绍mybatis-plus-generator-ui
主要是封装了mybatis-plus-generator而且有UI全部界面化很方便也可以自定义模板等等。支持POSTGRE_SQL、ORACLE、DB2、MySQL、SQLSERVER等常见的关系型数据库。
2、使用方式
1、初始化
先自己新建一个maven项目
pom引入工具 dependenciesdependencygroupIdorg.postgresql/groupIdartifactIdpostgresql/artifactIdversion42.2.27/version/dependencydependencygroupIdcom.github.davidfantasy/groupIdartifactIdmybatis-plus-generator-ui/artifactIdversion1.4.5/version/dependency/dependencies新建启动类它支持将GeberatorUIServer独立部署为一个单独的spring boot项目。
package com.springboot.test;import com.github.davidfantasy.mybatisplus.generatorui.GeneratorConfig;
import com.github.davidfantasy.mybatisplus.generatorui.MybatisPlusToolsApplication;
import com.github.davidfantasy.mybatisplus.generatorui.mbp.NameConverter;/*** author fei.chen* projectName mybatis-generator-ui* date 2023/5/4下午 4:58*/
public class GeneratorMain {public static void main(String[] args) {GeneratorConfig config GeneratorConfig.builder().jdbcUrl(jdbc:postgresql://111.111.111.111:15432/tables).userName(postgres).password(1111111).driverClassName(org.postgresql.Driver)// 数据库schemaPOSTGRE_SQL,ORACLE,DB2类型的数据库需要指定.schemaName(public)// 如果需要修改各类生成文件的默认命名规则可自定义一个NameConverter实例覆盖相应的名称转换方法.nameConverter(new NameConverter() {/*** 自定义Service类文件的名称规则*/public String serviceNameConvert(String tableName) {return this.entityNameConvert(tableName) Service;}/*** 自定义Controller类文件的名称规则*/public String controllerNameConvert(String tableName) {return this.entityNameConvert(tableName) Controller;}}).basePackage(com.springboot.test).port(8068).build();MybatisPlusToolsApplication.run(config);}
}
2、启动
直接执行main方法即可在main中指定了程序的运行端口为8086这种运行方式跟SpringBoot非常相似。 请求url: http://localhost:8068/
数据表都展示出来了。
3、生成所需代码 ok查看项目刷新一下全部生成 4、xml 可以自己配置 比如我想在xml增加一个自己的查询语句直接生成出来 需要的都生成出来了也是很方便的
3、可配置
1、代码配置
在启动类上可以配置后缀 Service、Controller、Entity、FieldName都可以实现自定义的扩展自己可以实现。 可查看NameConverter类
package com.github.davidfantasy.mybatisplus.generatorui.mbp;import cn.hutool.core.util.StrUtil;
import com.github.davidfantasy.mybatisplus.generatorui.dto.Constant;
import com.google.common.base.Strings;import static com.github.davidfantasy.mybatisplus.generatorui.dto.Constant.DOT_JAVA;
import static com.github.davidfantasy.mybatisplus.generatorui.dto.Constant.DOT_XML;/*** 自定义各类名称转换的规则*/
public interface NameConverter {/*** 自定义Entity.java的类名称** param tableName 表名称* return*/default String entityNameConvert(String tableName) {if (Strings.isNullOrEmpty(tableName)) {return ;}tableName tableName.substring(tableName.indexOf(StrUtil.UNDERLINE) 1, tableName.length());return StrUtil.upperFirst(StrUtil.toCamelCase(tableName.toLowerCase()));}/*** 自定义表字段名到实体类属性名的转换规则** param fieldName 表字段名称* return*/default String propertyNameConvert(String fieldName) {if (Strings.isNullOrEmpty(fieldName)) {return ;}if (fieldName.contains(_)) {return StrUtil.toCamelCase(fieldName.toLowerCase());}return fieldName;}/*** 自定义Mapper.java的类名称*/default String mapperNameConvert(String tableName) {return entityNameConvert(tableName) Mapper;}/*** 自定义Mapper.xml的文件名称*/default String mapperXmlNameConvert(String tableName) {return entityNameConvert(tableName) Mapper;}/*** 自定义Service.java的类名称*/default String serviceNameConvert(String tableName) {return I entityNameConvert(tableName) Service;}/*** 自定义ServiceImpl.java的类名称*/default String serviceImplNameConvert(String tableName) {return entityNameConvert(tableName) ServiceImpl;}/*** 自定义Controller.java的类名称*/default String controllerNameConvert(String tableName) {return entityNameConvert(tableName) Controller;}/*** 自定义其它生成文件的文件名不包括entity,mapper.java,mapper.xml,service,serviceImpl,controller这6种** param fileType 在页面上输入的输出文件标识* param tableName 关联的数据表名称名称* return 生成文件的名称带后缀*/default String outputFileNameConvert(String fileType, String tableName) {if (fileType.equals(Constant.FILE_TYPE_ENTITY)) {return this.entityNameConvert(tableName) DOT_JAVA;} else if (fileType.equals(Constant.FILE_TYPE_MAPPER)) {return this.mapperNameConvert(tableName) DOT_JAVA;} else if (fileType.equals(Constant.FILE_TYPE_MAPPER_XML)) {return this.mapperXmlNameConvert(tableName) DOT_XML;} else if (fileType.equals(Constant.FILE_TYPE_SERVICE)) {return this.serviceNameConvert(tableName) DOT_JAVA;} else if (fileType.equals(Constant.FILE_TYPE_SERVICEIMPL)) {return this.serviceImplNameConvert(tableName) DOT_JAVA;} else if (fileType.equals(Constant.FILE_TYPE_CONTROLLER)) {return this.controllerNameConvert(tableName) DOT_JAVA;}return this.entityNameConvert(tableName) fileType;}}
2、针对源代码更改模板
需要定制UI的话将代码clone下来后进入到frontend目录下进行相应的扩展开发。
修改完成后需要另行编译src\frontend中的静态资源源码中不包含已编译的页面在src\frontend文件夹中执行
yarn install
yarn run build4、源码地址
剩下的自己研究吧~
https://github.com/davidfantasy/mybatis-plus-generator-ui