通过数据库数据,将代码自动生成(pojo、controller层、service层、service实现层、dao层、xml文件) 1.导入maven <!--mybatis-plus依赖--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.3.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.17</version> </dependency> <!--代码生成器模板引擎--> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.2</version> </dependency> <!--代码生成器--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.3.2</version> </dependency>
2.在util(公共包下创建MybatisPlusUtil)
package com.hqyj.util; import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatisplus.generator.config.*; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; public class MybatisPlusUtil { public static void main(String[] args) { String userDir = System.getProperty("user.dir"); System.out.println("userDir=" + userDir); // 代码生成器 AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); //获取当前的项目的路径 String projectPath = System.getProperty("user.dir"); System.out.println(projectPath); //配置生成路径 gc.setOutputDir(projectPath + "/src/main/java"); // 作者名称 gc.setAuthor("rock"); gc.setBaseResultMap(true); gc.setBaseColumnList(true); mpg.setGlobalConfig(gc); // 数据源配置(MySQL5 自己修改密码和连接 MySQL8还需要修改) DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:mysql://localhost:3306/j220501?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull"); dsc.setDriverName("com.mysql.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("root"); mpg.setDataSource(dsc); // 包配置 PackageConfig pc = new PackageConfig(); pc.setParent("com.hqyj"); pc.setController("controller"); pc.setEntity("pojo"); pc.setMapper("dao"); mpg.setPackageInfo(pc); // 配置模板 TemplateConfig templateConfig = new TemplateConfig(); //templateConfig.setXml(null); templateConfig.setXml("/templates/mapper.xml"); mpg.setTemplate(templateConfig); // 策略配置 StrategyConfig strategy = new StrategyConfig(); strategy.setNaming(NamingStrategy.underline_to_camel); strategy.setColumnNaming(NamingStrategy.underline_to_camel); strategy.setEntityLombokModel(true); strategy.setRestControllerStyle(true); strategy.setInclude("score");//表名 strategy.setControllerMappingHyphenStyle(true);//驼峰转换 strategy.setTablePrefix(pc.getModuleName() + "_"); mpg.setStrategy(strategy); //mpg.setTemplateEngine(new FreemarkerTemplateEngine()); //执行 mpg.execute(); } }