MybatisPlus学习的第二天(2)

举报
多米诺的古牌 发表于 2021/02/21 16:23:56 2021/02/21
【摘要】 2.6 代码生成器public static void main(String[] args) { // 代码生成器对象 AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); String project...

2.6 代码生成器

public static void main(String[] args) {
        // 代码生成器对象
        AutoGenerator mpg = new AutoGenerator();

        // 全局配置
        GlobalConfig gc = new GlobalConfig();
        String projectPath = System.getProperty("user.dir");
		//自动生成后输出地址
        gc.setOutputDir(projectPath + "/src/main/java");
		//作者
        gc.setAuthor("jobob");
		//生成代码后是否自动打开文件夹
		gc.setOpen(false);
		//是否覆盖原来生成的
		gc.setFileOverride(false);
		//去掉service前面的I前缀
		gc.setServiceName("%sService");
		//设置主键策略
		gc.setIdType(IdType.ID_WORKER);
		//设置日期时间 仅仅只是日期
		gc.setDateType(DateType.ONLY_DATE);
		//配置 Swagger2 注解
        gc.setSwagger2(true); 
        mpg.setGlobalConfig(gc);

        // 数据源配置
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setUrl("jdbc:mysql://localhost:3306/ant?useUnicode=true&useSSL=false&characterEncoding=utf8");
        // dsc.setSchemaName("public");
        dsc.setDriverName("com.mysql.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("密码");
		//设置数据库类型,此处举例为mysql
		dsc.setDbType(DbType.MYSQL);
        mpg.setDataSource(dsc);

        // 包配置
        PackageConfig pc = new PackageConfig();
        pc.setModuleName("模块名");
        pc.setParent("com.baomidou.ant");
		pc.setEntity("entity");//设置实体类包名称
		pc.setMapper("mapper");//mapper包名
		pc.setService("service");//service包名
		pc.setController("controller");//controller包名
		
        mpg.setPackageInfo(pc);

        // 策略配置
        StrategyConfig strategy = new StrategyConfig();
		//生成哪张表
		strategy.setInclude("表名1","表名2");
		//配置下划线转驼峰命名
        strategy.setNaming(NamingStrategy.underline_to_camel);
        strategy.setColumnNaming(NamingStrategy.underline_to_camel);

		//设置是否使用lombok
        strategy.setEntityLombokModel(true);
		//设置是否按rest风格
        strategy.setRestControllerStyle(true);
		//设置逻辑删除 数据库中需要有这个字段才设置这个
		strategy.setLogicDeleteFieldName("deleted");
		//设置自动填充
		TableFill gmtCreate = new TableFill("gmt_create",FieldFill.INSERT);
		TableFill gmtModified = new TableFill("gmt_modified",FieldFill.INSERT_UPDATE);
		ArrayList<TableFill> tableFills = new ArrayList<>();
		tableFills.add(gmtCreate);
		tableFills.add(gmtModified);
		strategy.setTableFillList(tableFills);
		//设置乐观锁
		strategy.setVersionFieldName("version");
		//设置controller restful风格的驼峰命名
		strategy.setRestControllerStyle(true);
        //设置请求连接 多个参数时的下划线表示 eg:localhost:8080/test_id_name_XXX
        strategy.setControllerMappingHyphenStyle(true);
        strategy.setTablePrefix(pc.getModuleName() + "_");
        mpg.setStrategy(strategy);
 
		//执行
        mpg.execute();
    }
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。