MyBatis-Plus核心使用总结
1 结构目录
2 重点类及其使用
3 基于数据库的自动代码生成器
1 /** 2 * @author 陈龙 3 * @date 2021-01-06 18:01 4 */ 5 public class CodeGenerator { 6 @Test 7 public void run() { 8 // 1、创建代码生成器 9 AutoGenerator mpg = new AutoGenerator(); 10 // 2、全局配置 11 GlobalConfig gc = new GlobalConfig(); 12 String projectPath = System.getProperty("user.dir"); 13 //有的电脑系统,如果代码发现生成有问题,projectPath直接写成项目名称 14 //gc.setOutputDir("edu_eduservice" + "/src/main/java"); 15 gc.setOutputDir(projectPath + "/src/main/java"); 16 gc.setAuthor("陈龙"); 17 gc.setOpen(false); //生成后是否打开资源管理器 18 19 gc.setFileOverride(true); //重新生成时文件是否覆盖 20 //IUserServcie 21 gc.setServiceName("%sService"); //去掉Service接口的首字母I 22 gc.setIdType(IdType.ID_WORKER_STR); //主键策略 23 gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型 24 gc.setSwagger2(true);//开启Swagger2模式 25 mpg.setGlobalConfig(gc); 26 // 3、数据源配置 27 DataSourceConfig dsc = new DataSourceConfig(); 28 dsc.setUrl("jdbc:mysql://localhost:3306/cloud"); 29 dsc.setDriverName("com.mysql.cj.jdbc.Driver"); 30 dsc.setUsername("root"); 31 dsc.setPassword("chenlong"); 32 dsc.setDbType(DbType.MYSQL); 33 mpg.setDataSource(dsc); 34 35 // 4、包配置 36 PackageConfig pc = new PackageConfig(); 37 pc.setModuleName("cloud"); //模块名 38 pc.setParent("com.neu"); 39 pc.setController("controller"); 40 pc.setEntity("entity"); 41 pc.setService("service"); 42 pc.setMapper("mapper"); 43 mpg.setPackageInfo(pc); 44 // 5、策略配置 45 StrategyConfig strategy = new StrategyConfig(); 46 strategy.setInclude("表名");//表名称 47 strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略 48 strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀 49 50 strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略 51 strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作 52 strategy.setRestControllerStyle(true); //restful api风格控制器 53 strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符 54 mpg.setStrategy(strategy); 55 // 6、执行 56 mpg.execute(); 57 } 58 }