mybatis-plus之代码生成器

这个代码生成器比较原来那种插件感觉强大了不少,连controller、service都给我构造好了,service层而且还是有基础方法可以使用的简直是福利

这里要引入两个依赖:


            com.baomidou
            mybatis-plus-generator
            3.1.1
        
        
            org.apache.velocity
            velocity-engine-core
            2.1
        

然后具体的配置可以跟着官方示例来,而且还有具体配置的说明

下面是我自己的示例,这里额外提一下idea的分屏就是右击文件然后选水平还是垂直的,看配置文件写那个config时候不用换来换去

package com.gdut.imis.esclientdemo.gen;

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.NamingStrategy;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * @author lulu
 * @Date 2019/6/9 23:25
 */
@Component
public class Generator {




    public static void main(String args[]){
        String packge="com.gdut.imis.esclientdemo";
        AutoGenerator generator=new AutoGenerator();
        GlobalConfig gc=new GlobalConfig();
        String projectPath=System.getProperty("user.dir");
        gc.setOutputDir(projectPath+"/src/main/java/");
        gc.setAuthor("lele");
        gc.setOpen(false);
        gc.setMapperName("%sDao");
        gc.setXmlName("%sDao");
        generator.setGlobalConfig(gc);
        DataSourceConfig dataSourceConfig=new DataSourceConfig();
        dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
        dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/mptest?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai");
        dataSourceConfig.setPassword("123456");
        dataSourceConfig.setUsername("root");
        generator.setDataSource(dataSourceConfig);
        PackageConfig packageConfig=new PackageConfig();
        packageConfig.setParent(packge);
        packageConfig.setController("web");
        packageConfig.setMapper("dao");
        packageConfig.setXml("dao.mapper");
        generator.setPackageInfo(packageConfig);
        StrategyConfig strategyConfig=new StrategyConfig();
        strategyConfig.setNaming(NamingStrategy.underline_to_camel);
        strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
        strategyConfig.setEntityLombokModel(true);
        strategyConfig.setRestControllerStyle(true);
        strategyConfig.setExclude("role-user");
        strategyConfig.setSkipView(true);
generator.setStrategy(strategyConfig);
generator.execute();
    }
}

这里有个点要注意,因为mapper文件如果和接口是同一个包下,他是不用再额外配置的路径的,但是在maven打包时默认情况只会打包源码,这时候要把xml也打包进去,在build的节点下


    
        
            **/*.xml
        
        false
    

里面具体的更多配置就看个人确定要不要用了,还是查看官方文档配置进行修改吧,然后执行main方法

=========================================传统方==================================================

传统mybatis的代码生成方式如下(这个例子不在github里面是以前写的拿来展示下):

首先要在maven那里加载这个插件,并且填写相应的代码生成的xml的位置:

  
                org.mybatis.generator
                mybatis-generator-maven-plugin
                1.3.2
                
                    ${basedir}/src/main/resources/generator/generatorConfig.xml
                    true
                    true

                
            

代码生成的配置文件例子:




    
    
    
        
            
            
            
        
        
        
        
        
            
        
        
        
            
            
        
        
        
            
        
        
        
            
        
        

        

最后执行在你的项目路径下执行以下命令:

mybatis-generator:generate -e

生成的东西只有entity、mapper接口和xml文件,而且不做配置的话,会生成一大堆奇奇怪怪的方法,相较之下,mybatis-plus的生成方法更胜一筹了,(我怎么没有早点学这个。。。哭了)代码也上传github

你可能感兴趣的:(mybatis-plus)