Bootstrap

Mybatis代码生成器

使用Mybatis生成代码

1.导包

		<dependency>
			<groupId>org.apache.velocity</groupId>
			<artifactId>velocity-engine-core</artifactId>
			<version>2.1</version>
		</dependency>
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-generator</artifactId>
			<version>3.1.0</version>
		</dependency>

2.编写自动生成的代码

 public void test(){
    //代码自动生成器

//        创建一个代码生成器对象
            AutoGenerator mpg = new AutoGenerator();
//    配置策略
//        1.全局配置
            GlobalConfig gc = new GlobalConfig();
            String objectPath = System.getProperty("user.dir");
            gc.setOutputDir(objectPath+"/src/main/java");
            gc.setOpen(false);
            gc.setServiceName("%sService"); //取出service的I前缀
            gc.setFileOverride(true); //是否覆盖
            gc.setIdType(IdType.AUTO);
            gc.setDateType(DateType.ONLY_DATE);
            gc.setSwagger2(true);
            mpg.setGlobalConfig(gc);

//        设置数据源
            DataSourceConfig dsc = new DataSourceConfig();
            dsc.setDriverName("com.mysql.cj.jdbc.Driver");
            dsc.setDbType(DbType.MYSQL);
            dsc.setUsername("root");
            dsc.setPassword("123456");
            dsc.setUrl("jdbc:mysql://101.200.240.155:3306/edu?serverTimezone=GMT%2B8");
            mpg.setDataSource(dsc);

//        包的配置
            PackageConfig pc = new PackageConfig();
            pc.setParent("com.wcc");
            pc.setController("controller");
            pc.setService("service");
            pc.setEntity("pojo");
            pc.setMapper("mapper");
            mpg.setPackageInfo(pc);

//        策略配置
            StrategyConfig strategy = new StrategyConfig();
//        设置要映射的表明
//            strategy.setInclude("user");
//        数据库表映射到实体的命名策略
            strategy.setNaming(NamingStrategy.underline_to_camel);
//          设置表的前缀不生成,表的前缀是什么,第一个字符串就是什么
            strategy.setTablePrefix("edu"+"_");
//            数据库表字段映射到实体的命名策略
            strategy.setColumnNaming(NamingStrategy.underline_to_camel);
            strategy.setEntityLombokModel(true); // 自动lombok;
//        设置逻辑删除字段
            strategy.setLogicDeleteFieldName("is_deleted");
//            去掉布尔值的is前缀
             strategy.setEntityBooleanColumnRemoveIsPrefix(true);
//             设置自动填充字段
            TableFill gmtCreate = new TableFill("gmt_create", FieldFill.INSERT);
            TableFill gmtModified = new TableFill("gmt_modified", FieldFill.INSERT_UPDATE);
            ArrayList<TableFill> list = new ArrayList<>();
            list.add(gmtCreate);
            list.add(gmtModified);
            strategy.setTableFillList(list);
            mpg.setStrategy(strategy);
            mpg.execute();

        }


;