iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >mybatis plus自动生成器的示例分析
  • 591
分享到

mybatis plus自动生成器的示例分析

2023-06-29 11:06:44 591人浏览 八月长安
摘要

这篇文章将为大家详细讲解有关mybatis plus自动生成器的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。mybatis plus自动生成器解析使用这个可以超快速生成entity s

这篇文章将为大家详细讲解有关mybatis plus自动生成器的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

mybatis plus自动生成器解析

使用这个可以超快速生成entity service controller层

1.加入依赖

模板引擎的依赖也要导入,不然运行会报错的

<dependency>        <groupId>com.baomidou</groupId>        <artifactId>mybatis-plus-generator</artifactId>        <version>3.3.1.tmp</version>    </dependency>    <dependency>        <groupId>org.freemarker</groupId>        <artifactId>freemarker</artifactId>        <version>2.3.30</version>    </dependency>

2.写一个类,作为自动生成器的入口

mybatis plus自动生成器的示例分析

这里的时候,一定一定要把import的包也复制,不然很容易出错

package van.generator;import java.util.ArrayList;import java.util.List;import java.util.Scanner;import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;import com.baomidou.mybatisplus.core.toolkit.StringPool;import com.baomidou.mybatisplus.core.toolkit.StringUtils;import com.baomidou.mybatisplus.generator.AutoGenerator;import com.baomidou.mybatisplus.generator.InjectionConfig;import com.baomidou.mybatisplus.generator.config.DataSourceConfig;import com.baomidou.mybatisplus.generator.config.FileOutConfig;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.TemplateConfig;import com.baomidou.mybatisplus.generator.config.po.TableInfo;import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;public class CodeGenerator {        public static String scanner(String tip) {        Scanner scanner = new Scanner(System.in);        StringBuilder help = new StringBuilder();        help.append("请输入" + tip + ":");        System.out.println(help.toString());        if (scanner.hasNext()) {            String ipt = scanner.next();            if (StringUtils.isNotEmpty(ipt)) {                return ipt;            }        }        throw new MybatisPlusException("请输入正确的" + tip + "!");    }        public static void main(String[] args) {        // 代码生成器        AutoGenerator mpg = new AutoGenerator();        // 全局配置        GlobalConfig GC = new GlobalConfig();        String projectPath = System.getProperty("user.dir");        gc.setOutputDir(projectPath + "/ad-sponsor/src/main/java/van");        gc.setAuthor("van");        gc.setOpen(false);        mpg.setGlobalConfig(gc);        // 数据源配置        DataSourceConfig dsc = new DataSourceConfig();        dsc.setUrl("jdbc:mysql://localhost:3306/ad?useUnicode=true&serverTimezone=GMT&useSSL=false&characterEncoding=utf8");        // dsc.setSchemaName("public");        dsc.setDriverName("com.Mysql.jdbc.Driver");        dsc.setUsername("root");        dsc.setPassword("321asd");        mpg.setDataSource(dsc);        // 包配置        PackageConfig pc = new PackageConfig();        pc.setModuleName(scanner("模块名"));        pc.setParent("com.baomidou.mybatisplus.samples.generator");        mpg.setPackageInfo(pc);        // 自定义配置        InjectionConfig cfg = new InjectionConfig() {            @Override            public void initMap() {                // to do nothing            }        };        List<FileOutConfig> focList = new ArrayList<>();        focList.add(new FileOutConfig("/templates/mapper.xml.ftl") {            @Override            public String outputFile(TableInfo tableInfo) {                // 自定义输入文件名称                return projectPath + "/mybatis-plus-sample-generator/src/main/resources/mapper/" + pc.getModuleName()                        + "/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;            }        });        cfg.setFileOutConfigList(focList);        mpg.setCfg(cfg);        mpg.setTemplate(new TemplateConfig().setXml(null));        // 策略配置        StrategyConfig strategy = new StrategyConfig();        strategy.setNaming(NamingStrategy.underline_to_camel);        strategy.setColumnNaming(NamingStrategy.underline_to_camel);        strategy.setSuperEntityClass("com.baomidou.mybatisplus.samples.generator.common.BaseEntity");        strategy.setEntityLombokModel(true);        strategy.setSuperControllerClass("com.baomidou.mybatisplus.samples.generator.common.BaseController");        strategy.setInclude(scanner("表名"));        strategy.setSuperEntityColumns("id");        strategy.setControllerMappingHyphenStyle(true);        strategy.setTablePrefix(pc.getModuleName() + "_");        mpg.setStrategy(strategy);        // 选择 freemarker 引擎需要指定如下加,注意 pom 依赖必须有!        mpg.setTemplateEngine(new FreemarkerTemplateEngine());        mpg.execute();    }}

3.修改代码

1.全局配置

mybatis plus自动生成器的示例分析

2.数据源配置

mybatis plus自动生成器的示例分析

3.包配置

mybatis plus自动生成器的示例分析

3.运行

mybatis plus自动生成器的示例分析

讲解一下

1.首先运行这里

要求输入的模块名是生成的entity等的上层包名,我这里输入的是sys如上图所示

mybatis plus自动生成器的示例分析

2.全局配置这里

mybatis plus自动生成器的示例分析

是指定要生成的地方(模块名)

mybatis plus自动生成器的示例分析

3.数据源配置没啥说的,填入正确信息即可

4.包配置

mybatis plus自动生成器的示例分析

mybatis plus代码生成器使用及注意事项

Mybatis-plus的代码生成器是mybatis-plus组件的,并不是mybatis的,注意不要看错,这里会介绍代码生成器的主要用法以及需要注意的事项。

1.添加Maven依赖

Mybatis-plus的代码生成器在3.0.3之后就独立出来,与mybatis-plus分开了,所以使用高版本的mybatis-plus的同学要注意,代码生成器要单独引入,如果是使用低版本的,不需要额外引用,这里使用的是按照官方文档的3.1.2版本,

mybatis plus自动生成器的示例分析

mybatis plus自动生成器的示例分析

<?xml version="1.0" encoding="UTF-8"?><project xmlns="Http://maven.apache.org/POM/4.0.0"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>     <groupId>com.code.generator</groupId>    <artifactId>code-generator</artifactId>    <version>1.0-SNAPSHOT</version>    <build>        <plugins>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-compiler-plugin</artifactId>                <configuration>                    <source>1.8</source>                    <target>1.8</target>                </configuration>            </plugin>        </plugins>    </build>     <dependencies>        <dependency>            <groupId>com.baomidou</groupId>            <artifactId>mybatis-plus-generator</artifactId>            <version>3.1.2</version>        </dependency>           <!-- velocity 模板引擎, 默认 -->        <!-- https://mvnrepository.com/artifact/org.apache.velocity/velocity-engine-core -->        <dependency>            <groupId>org.apache.velocity</groupId>            <artifactId>velocity-engine-core</artifactId>            <version>2.0</version>        </dependency>          <!-- freemarker 模板引擎 -->        <!-- https://mvnrepository.com/artifact/org.freemarker/freemarker -->        <dependency>            <groupId>org.freemarker</groupId>            <artifactId>freemarker</artifactId>            <version>2.3.28</version>        </dependency>         <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->        <dependency>            <groupId>oracle.jdbc</groupId>            <artifactId>ojdbc6</artifactId>            <version>11.2.0.2.0</version>        </dependency>          <!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->        <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-core</artifactId>            <version>4.3.20.RELEASE</version>        </dependency>          <dependency>            <groupId>org.slf4j</groupId>            <artifactId>slf4j-log4j12</artifactId>            <version>1.7.25</version>            <scope>compile</scope>        </dependency>      </dependencies> </project>

2.编写代码生成器的类

依赖好了之后就可以开始编写我们的代码生成器,代码生成器主要有几部分的配置,具体配置的说明参考代码注释

(1)全局配置

(2)包名配置

(3)数据源配置

(4)输出模板

(5)自定义配置

(6)生成策略

import com.baomidou.mybatisplus.annotation.DbType;import com.baomidou.mybatisplus.core.toolkit.StringPool;import com.baomidou.mybatisplus.generator.AutoGenerator;import com.baomidou.mybatisplus.generator.InjectionConfig;import com.baomidou.mybatisplus.generator.config.*;import com.baomidou.mybatisplus.generator.config.po.TableInfo;import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;  public class CodeGenerator {    public static void main(String[] args) {        AutoGenerator mpg = new AutoGenerator();                 final GlobalConfig gc = new GlobalConfig();        gc.setOutputDir("E://output");//输出文件路径        gc.setFileOverride(true);        gc.setActiveRecord(false);// 不需要ActiveRecord特性的请改为false        //gc.setEnableCache(false);// XML 二级缓存        //gc.setBaseResultMap(true);// XML ResultMap        //gc.setBaseColumnList(false);// XML columList        gc.setAuthor("simple");// 作者gc.setswagger2(true);         // 自定义文件命名,注意 %s 会自动填充表实体属性!        gc.setControllerName("%sController");        gc.setServiceName("%sService");        gc.setServiceImplName("%sServiceImpl");        gc.setMapperName("%sMapper");        mpg.setGlobalConfig(gc);                 final PackageConfig pc = new PackageConfig();        //设置包名        pc.setParent("com.code.generator");        pc.setController("system.WEB");        pc.setService("system.service");        pc.setServiceImpl("system.service.impl");        pc.setMapper("system.mapper");        pc.setEntity("domain.po");        mpg.setPackageInfo(pc);                 DataSourceConfig dsc = new DataSourceConfig();        dsc.setDbType(DbType.ORACLE);        dsc.setDriverName("oracle.jdbc.driver.OracleDriver");//TODO        dsc.setUsername("user");//TODO        dsc.setPassword("passWord");//TODO        dsc.setUrl("jdbc:oracle:thin:@ip:host:db");        mpg.setDataSource(dsc);                 TemplateConfig templateConfig = new TemplateConfig();         // 配置自定义输出模板        //指定自定义模板路径,注意不要带上.ftl/.vm, 会根据使用的模板引擎自动识别,默认vm,xml不输出        templateConfig.setEntity("myTemplates/entity.java");        templateConfig.setService("myTemplates/service.java");        templateConfig.setServiceImpl("myTemplates/serviceImpl.java");        templateConfig.setController("myTemplates/controller.java");        templateConfig.setMapper("myTemplates/mapper.java");        templateConfig.setXml(null);        mpg.setTemplate(templateConfig);                 InjectionConfig cfg = new InjectionConfig() {            @Override            public void initMap() {                Map<String, Object> map = new HashMap<String, Object>();                map.put("tableComment", "系统用户");                map.put("Handler", pc.getParent()+".system.handler");                map.put("SuperHandler", "com.code.generator.core.base.BaseHandler");                map.put("SuperHandlerName", "BaseHandler");                map.put("vo", pc.getParent()+".domain.vo");                this.setMap(map);            }        };         // 自定义输出配置        List<FileOutConfig> focList = new ArrayList<>();        // 自定义handler        focList.add(new FileOutConfig("myTemplates/handler.java.vm") {            @Override            public String outputFile(TableInfo tableInfo) {                return gc.getOutputDir() + "/com/code/generator/handler/"                        + tableInfo.getEntityName()+"Handler" + StringPool.DOT_JAVA;            }        });        // 自定义provider        focList.add(new FileOutConfig("myTemplates/provider.java.vm") {            @Override            public String outputFile(TableInfo tableInfo) {                return gc.getOutputDir() + "/com/code/generator/mapper/provider/"                        + tableInfo.getEntityName()+"Provider" + StringPool.DOT_JAVA;            }        });         // 自定义vo        focList.add(new FileOutConfig("myTemplates/vo.java.vm") {            @Override            public String outputFile(TableInfo tableInfo) {                return gc.getOutputDir() + "/com/code/generator/domain/vo/"                        + tableInfo.getEntityName()+"Vo" + StringPool.DOT_JAVA;            }        });         cfg.setFileOutConfigList(focList);        mpg.setCfg(cfg);                   StrategyConfig strategy = new StrategyConfig();        //过滤表前缀        strategy.setTablePrefix(new String[] { "T_" });        //类名生成策略:驼峰命名        strategy.setNaming(NamingStrategy.underline_to_camel);        //字段名生成方式:驼峰命名        strategy.setColumnNaming(NamingStrategy.underline_to_camel);        //需要生成的表        strategy.setInclude(new String[] { "T_SYS_USER" });        strategy.setCapitalMode(true);        //controller是否restful风格        strategy.setRestControllerStyle(true);         //配置继承的父类        strategy.setSuperEntityClass("com.code.generator.po.BaseDomain");        strategy.setSuperEntityColumns("ID","ISVALID","CREATORID","CREATEDTIME","MODIFYID","MODIFYTIME","PACKAGEID");        strategy.setSuperControllerClass("com.code.generator.core.base.BaseController");        strategy.setSuperServiceClass("com.code.generator.core.base.BaseService");        strategy.setSuperServiceImplClass("com.code.generator.impl.core.base.BaseServiceImpl");        strategy.setSuperMapperClass("com.code.generator.impl.core.base.BaseMapper");        mpg.setStrategy(strategy);          // 执行生成        mpg.execute();     } }

3.自定义输出模板

mybatis-plus-generator的jar包里面有原生的模板文件,在jar包的templates目录下,btl对应的是beetl模板引擎,ftl对应freemarker模板引擎,vm对应的是velocity模板引擎,默认是vm,如果想更改使用的引擎可以通过setTemplateEngine方法设置,模板中的全局变量可以参考下面方法里面的变量com.baomidou.mybatisplus.generator.engine.AbstractTemplateEngine#getObjectMap

mybatis plus自动生成器的示例分析

mybatis plus自动生成器的示例分析

如果不想使用原生的模板,可以编写自己的模板,基于原生模板修改,新的模板要放在resources下面,注意写的时候不要加上模板文件的后缀,会根据引擎自动识别,如果不想输出对应的文件,需要设置为null,否则会拿jar包下面原生的模板生成。

//指定自定义模板路径,注意不要带上.ftl/.vm, 会根据使用的模板引擎自动识别,默认vm,xml不输出templateConfig.setEntity("myTemplates/entity.java");templateConfig.setXml(null);

mybatis plus自动生成器的示例分析

4.自定义参数模板

(1)自定义参数

代码生成器中提供了一些模板参数,如果需要定制化自己的模板可能需要一些自定义的参数可以在这里添加,在模板中可以通过${cfg.key}来使用

mybatis plus自动生成器的示例分析

(2)自定义模板

原生提供的有controller、service、serviceImpl、dao、mapper、entity六种生成模板,如果我们还需要输出其他的一些模板文件,可以通过以下方式来输出,与TemplateConfig配置不一样,这里模板的路径需要加上后缀,还需要指定输出路径。

mybatis plus自动生成器的示例分析

到这里,代码生成器就可以工作了,但是还有一些小缺陷在其他的文章中没有提到,下面再提两点

5.关于日志输出

在代码生成器中实际上是有生成过程的日志输出的,如果配置不正确也会有对应的提示,但是在很多的教程里面都没有提到这一点,控制台都提示log4j异常了。

mybatis plus自动生成器的示例分析

关于日志,实际上在模板引擎中就有log4j的api包引入了,但是log4j还需要有对应的实现才能输出日志,所以会提示上图的异常,因此在上面我的依赖中还加入了slf4j-log4j12的实现依赖

mybatis plus自动生成器的示例分析

mybatis plus自动生成器的示例分析

这时候我们再来运行,发现还会报错,这是因为缺少log4j的properties文件,下面我们建立一个log4j.properties文件,注意文件名不要改,就叫这个名字,配置内容参考下面的,也可以用你常用的,具体配置的属性自行查找吧

mybatis plus自动生成器的示例分析

mybatis plus自动生成器的示例分析

log4j.rootLogger=DEBUG, stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

上面该补的补完之后我们就可以看到代码生成器的控制台日志了

mybatis plus自动生成器的示例分析

6.关于字段类型转换

代码生成器在生成字段信息的时候会从数据库获取表字段信息,根据一定的规则来生成字段,如果不想使用原生的字段信息,可以自定义自己的规则,在这里我使用的是Oracle数据库,在配置数据源的时候有两个方法setDbQuery和setTypeConvert,前者是获取数据库字段信息的sql,后者是数据库字段类型与java字段类型的映射规则,下面我们看一下源码的实现看看是如何转换的

mybatis plus自动生成器的示例分析

(1)获取字段信息

在这里可以看到对于Oracle在处理Number类型字段的时候是做了处理的,不像mysql,很多时候我们会直接使用number来代表各种数字类型,如double、decimal等,这里会根据number的字段长度、小数位来进行组装然后提供给后面字段映射来进行处理,所以我们在设计的时候要注意,该定义长度就定义长度,该定义小数位就定义小数位,尽量不要直接用number或者number(*,0)这样的方式来定义,否则在后面映射的时候回当成Double处理,但实际上我们想要的是Integer,不然生成之后你就只能手工修改,或者自定义自己的转换规则来适配

SELECTA.COLUMN_NAME,CASEWHEN A.DATA_TYPE = 'NUMBER' THEN(CASEWHEN A.DATA_PRECISION IS NULL THENA.DATA_TYPE WHEN NVL( A.DATA_SCALE, 0 ) > 0 THENA.DATA_TYPE || '(' || A.DATA_PRECISION || ',' || A.DATA_SCALE || ')' ELSE A.DATA_TYPE || '(' || A.DATA_PRECISION || ')' END ) ELSE A.DATA_TYPE END DATA_TYPE,B.COMMENTS,DECODE( C.POSITION, '1', 'PRI' ) KEY FROMALL_TAB_COLUMNS AINNER JOIN ALL_COL_COMMENTS B ON A.TABLE_NAME = B.TABLE_NAME AND A.COLUMN_NAME = B.COLUMN_NAME AND B.OWNER = 'USER'--schemaLEFT JOIN ALL_CONSTRAINTS D ON D.TABLE_NAME = A.TABLE_NAME AND D.CONSTRAINT_TYPE = 'P' AND D.OWNER = 'USER'--schemaLEFT JOIN ALL_CONS_COLUMNS C ON C.CONSTRAINT_NAME = D.CONSTRAINT_NAME AND C.COLUMN_NAME = A.COLUMN_NAME AND C.OWNER = 'USER' --schemaWHEREA.OWNER = 'USER' --schemaAND A.TABLE_NAME = 'T_SYS_USER' ORDER BYA.COLUMN_ID

(2)字段类型映射

字段类型映射我们关注点还是对于number的处理,其他类型都是直接映射过去的,在这里可以看到是使用了正则表达式对number的字段长度进行匹配来区分Integer、Long、Double,如果没有小数位,长度小于10的则为Integer,否则为Long,否则一律按Double处理,所以在定义Number的时候就注意按实际来吧,不要贪图方便或者偷懒,否则生成之后Entity、xml都要做相应的修改。

mybatis plus自动生成器的示例分析

关于“mybatis plus自动生成器的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: mybatis plus自动生成器的示例分析

本文链接: https://www.lsjlt.com/news/324629.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mybatis plus自动生成器的示例分析
    这篇文章将为大家详细讲解有关mybatis plus自动生成器的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。mybatis plus自动生成器解析使用这个可以超快速生成entity s...
    99+
    2023-06-29
  • Mybatis-Plus代码生成器的示例分析
    小编给大家分享一下Mybatis-Plus代码生成器的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 实战 数据库脚本 创建一张商品表test_goodsCREATE&nbs...
    99+
    2022-10-19
  • mybatis-plus雪花算法自动生成机器id原理的示例分析
    这篇文章主要介绍了mybatis-plus雪花算法自动生成机器id原理的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、雪花算法原理  &nbs...
    99+
    2023-06-15
  • mybatis plus自动生成代码的示例代码
    写一个简单的mybatis plus插件自动生成代码的例子 pom.xml 添加配置 <!-- mybatis plus 插件--> <dependency>...
    99+
    2022-11-13
  • MyBatis-Plus——代码自动生成器
    📢📢📢📣📣📣 哈喽!大家好,我是【一心同学】,一位上进心十足的【Java领域博主】!😜😜😜...
    99+
    2023-09-08
    java mybatis plus 代码自动生成 增删查改
  • Mybatis-Plus的示例分析
    这篇文章主要介绍了Mybatis-Plus的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Mybatis-Plus1.快速入门地址:安装 | MyBatis-Plus...
    99+
    2023-06-20
  • mybatis mybatis-plus-generator+clickhouse自动生成代码案例详解
    目录依赖配置CodeGeneratormybatis-plus-generator + clickhouse 自动生成代码 依赖 <!--> mybatis-pl...
    99+
    2022-11-12
  • SpringBoot集成Mybatis-plus并实现自动生成相关文件的示例代码
    Mybatis-Plus是一个优秀的Mybatis增强工具,目前更新到3.1.1。Mybatis-Plus原生提供了很多单表操作的方法,极大简化了繁琐的curd的操作,同时又支持xm...
    99+
    2022-11-12
  • mybatis plus generator 根据数据库自动生成实体类的实现示例
    目录1、添加依赖2、编写代码生成器3、运行主程序,输入表名1、添加依赖 <dependency> <groupId>com.baomidou<...
    99+
    2022-11-12
  • Mybatis Plus逆向工程的示例分析
    这篇文章主要介绍Mybatis Plus逆向工程的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、创建数据库注:给tbl_emp的表创建外键数据库以及表的建立:二、配置pom.xml 文件&nbs...
    99+
    2023-06-26
  • mybatis-plus使用问题的示例分析
    这篇文章主要为大家展示了“mybatis-plus使用问题的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mybatis-plus使用问题的示例分析”这篇文章吧。一、多表联合分页查询多表...
    99+
    2023-06-29
  • mybatis-plus查询源码的示例分析
    这篇文章主要介绍mybatis-plus查询源码的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!配置详情pom.xmldependency>     &...
    99+
    2023-06-29
  • springboot整合freemarker代码自动生成器的示例分析
    这篇文章给大家分享的是有关springboot整合freemarker代码自动生成器的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。技术架构页面是用 Vue ,element-ui开发;网络请求是 Axi...
    99+
    2023-06-15
  • 基于mybatis-plus-generator实现代码自动生成器
    目录1.引入依赖2.简单的代码生成3.自定义模板生成代码3.1实现思路3.2定义代码生成常量3.3全局配置3.4定义生成代码模板的路径3.5定义各文件生成存储路径3.6数据源配置3....
    99+
    2022-11-13
  • SpringBoot集成Mybatis-plus并实现自动生成相关文件的示例代码怎么写
    这篇文章给大家介绍SpringBoot集成Mybatis-plus并实现自动生成相关文件的示例代码怎么写,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Mybatis-Plus是一个优秀的Mybatis增强工具,目前更新...
    99+
    2023-06-22
  • Spring集成MyBatis的示例分析
    这篇文章主要为大家展示了“Spring集成MyBatis的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Spring集成MyBatis的示例分析”这篇文...
    99+
    2022-10-18
  • java中MyBatis-plus入门使用的示例分析
    小编给大家分享一下java中MyBatis-plus入门使用的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、初始化 SpringBoot 项目首先使用...
    99+
    2023-06-15
  • MyBatis中Mapper生效的示例分析
    小编给大家分享一下MyBatis中Mapper生效的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、MyBatis基本使用一切都从最简单的开始,所以先来...
    99+
    2023-06-20
  • spring-mybatis与原生mybatis使用的示例分析
    小编给大家分享一下spring-mybatis与原生mybatis使用的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!原生mybatis使用方法:String resource = &...
    99+
    2023-05-30
    spring mybatis
  • Mybatis-Plus自动生成的数据库id过长的解决
    目录Mybatis-Plus自动生成的数据库id过长一、问题二、解决方案三、原理Mybatis-Plus id主键生成的问题简要说明错误解决方案一解决方案二Mybatis-Plus自...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作