代码生成器——java代码自动生成MAVEN包和类文件

package cn.ps;

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;

    maven代码生成器

    public class GodeGenerator {
    	  /* 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();//mybatis plus包
    

    //全局配置
    GlobalConfig gc = new GlobalConfig();
    final String projectPath = System.getProperty(“user.dir”);
    gc.setOutputDir(projectPath + “/src/main/java”);
    gc.setAuthor(“欧阳**”);
    gc.setOpen(false);
    mpg.setGlobalConfig(gc);

    //数据源配置
    DataSourceConfig dsc = new DataSourceConfig();
    dsc.setUrl(“jdbc:mysql://192.168.0.253:3306/school? useUnicode=true&useSSL=false&characterEncoding=utf8”);
    // dsc.setSchemaName(“public”);
    dsc.setDriverName(“com.mysql.jdbc.Driver”);
    dsc.setUsername(“root”); //用户名
    dsc.setPassword(“ps123456”);//密码
    mpg.setDataSource(dsc);

    //包配置
    final PackageConfig pc = new PackageConfig();
    //数据库名
    pc.setModuleName(“users”); //表名
    pc.setParent(“com.baomidou.ant”);
    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 + “/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.ant.common.BaseEntity”);
    strategy.setEntityLombokModel(true);
    strategy.setRestControllerStyle(true);
    // strategy.setSuperControllerClass(“com.baomidou.ant.common.BaseController”);
    strategy.setInclude(“users”);
    strategy.setSuperEntityColumns(“id”);
    strategy.setControllerMappingHyphenStyle(true);
    strategy.setTablePrefix(pc.getModuleName() + “_”);
    mpg.setStrategy(strategy);
    mpg.setTemplateEngine(new FreemarkerTemplateEngine());
    mpg.execute();
    }
    }

    //依赖文件

      		com.baomidou
      		mybatis-plus
      		3.0.5
      
      	<dependency>
      		<groupId>mysql</groupId>
      		<artifactId>mysql-connector-java</artifactId>
      		<version>5.1.14</version>
      	</dependency>
      	<dependency>
      		<groupId>org.springframework</groupId>
      		<artifactId>spring-core</artifactId>
      		<version>4.3.20.RELEASE</version>
      	</dependency>
      	<dependency>
      		<groupId>org.freemarker</groupId>
      		<artifactId>freemarker</artifactId>
      		<version>2.3.28</version>
      	</dependency>
      	<dependency>
      		<groupId>org.projectlombok</groupId>
      		<artifactId>lombok</artifactId>
      		<version>1.18.4</version>
      		<scope>provided</scope>
      	</dependency>
      	<dependency>
      		<groupId>org.springframework</groupId>
      		<artifactId>spring-webmvc</artifactId>
      		<version>4.3.20.RELEASE</version>
      	</dependency>
      
      	<dependency>
      		<groupId>org.slf4j</groupId>
      		<artifactId>slf4j-api</artifactId>
      		<version>1.7.22</version>
      	</dependency>
      	<dependency>
      		<groupId>org.slf4j</groupId>
      		<artifactId>slf4j-log4j12</artifactId>
      		<version>1.7.22</version>
      	</dependency>
      	
      </dependencies>
      ```
      
       
       
                </div>
        					<link href="https://csdnimg.cn/release/phoenix/mdeditor/markdown_views-a47e74522c.css" rel="stylesheet">
                    </div>
        								
        				<script>
        					(function(){
        						function setArticleH(btnReadmore,posi){
        							var winH = $(window).height();
        							var articleBox = $("div.article_content");
        							var artH = articleBox.height();
        							if(artH > winH*posi){
        								articleBox.css({
        									'height':winH*posi+'px',
        									'overflow':'hidden'
        								})
        								btnReadmore.click(function(){
        									if(typeof window.localStorage === "object" && typeof window.csdn.anonymousUserLimit === "object"){
        										if(!window.csdn.anonymousUserLimit.judgment()){
        											window.csdn.anonymousUserLimit.Jumplogin();
        											return false;
        										}else if(!currentUserName){
        											window.csdn.anonymousUserLimit.updata();
        										}
        									}
        									
        									articleBox.removeAttr("style");
        									$(this).parent().remove();
        								})
        							}else{
        								btnReadmore.parent().remove();
        							}
        						}
        						var btnReadmore = $("#btn-readmore");
        						if(btnReadmore.length>0){
        							if(currentUserName){
        								setArticleH(btnReadmore,3);
        							}else{
        								setArticleH(btnReadmore,1.2);
        							}
        						}
        					})()
        				</script>
        				</article>
        
        • 1
          点赞
        • 0
          收藏
          觉得还不错? 一键收藏
        • 0
          评论

        “相关推荐”对你有帮助么?

        • 非常没帮助
        • 没帮助
        • 一般
        • 有帮助
        • 非常有帮助
        提交
        评论
        添加红包

        请填写红包祝福语或标题

        红包个数最小为10个

        红包金额最低5元

        当前余额3.43前往充值 >
        需支付:10.00
        成就一亿技术人!
        领取后你会自动成为博主和红包主的粉丝 规则
        hope_wisdom
        发出的红包
        实付
        使用余额支付
        点击重新获取
        扫码支付
        钱包余额 0

        抵扣说明:

        1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
        2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

        余额充值