spring boot mybatis逆向工程
阿新 • • 發佈:2021-01-10
建立SpringBoot專案
建立一個普通的SpringBoot專案,然後引入依賴,既然要跟資料庫打交道,connector肯定不能少
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
另外要使用mybatis-plus,當然也要引入該starter
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
、
由於需要用到逆向工程,所以引入依賴
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.1</version>
</dependency>
還需要一個模板引擎的依賴
<dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.1</version> </dependency>
為了方便起見,這裡引入Lombok
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
然後編寫一個類,直接執行即可!
classAutoCode{publicstaticvoidmain(String[] args){// 1、全域性配置 GlobalConfig globalConfig=newGlobalConfig();//構建全域性配置物件 String projectPath= System.getProperty("user.dir");// 獲取當前使用者的目錄 globalConfig.setOutputDir(projectPath+"/mybatis-plus-01-start/src/main/java")// 輸出檔案路徑.setAuthor("微信搜一搜:賀賀學程式設計")// 設定作者名字.setOpen(false)// 是否開啟資源管理器.setFileOverride(true)// 是否覆蓋原來生成的.setIdType(IdType.AUTO)// 主鍵策略.setBaseResultMap(true)// 生成resultMap.setBaseColumnList(true)// XML中生成基礎列.setServiceName("%sService");// 生成的service介面名字首字母是否為I,這樣設定就沒有I// 2、資料來源配置 DataSourceConfig dataSourceConfig=newDataSourceConfig();// 建立資料來源配置 dataSourceConfig.setUrl("jdbc:mysql://127.0.0.1:3306/mybatis_plus?userSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC").setDriverName("com.mysql.cj.jdbc.Driver").setUsername("root") .setPassword("root").setDbType(DbType.MYSQL);// 3、包配置 PackageConfig packageConfig=newPackageConfig(); packageConfig.setParent("com.hzy").setEntity("entity").setController("controller").setService("service").setMapper("mapper");// 4、策略配置 StrategyConfig strategyConfig=newStrategyConfig(); strategyConfig.setCapitalMode(true)// 開啟全域性大寫命名.setInclude("user")// 設定要對映的表.setNaming(NamingStrategy.underline_to_camel)// 下劃線到駝峰的命名方式.setColumnNaming(NamingStrategy.underline_to_camel)// 下劃線到駝峰的命名方式.setEntityLombokModel(false)// 是否使用lombok.setRestControllerStyle(true)// 是否開啟rest風格.setControllerMappingHyphenStyle(true);// localhost:8080/hello_a_2// 5、自定義配置(配置輸出xml檔案到resources下) InjectionConfig cfg=newInjectionConfig(){@OverridepublicvoidinitMap(){// to do nothing}}; List<FileOutConfig> focList=newArrayList<>(); String templatePath="/templates/mapper.xml.vm";// 自定義配置會被優先輸出 focList.add(newFileOutConfig(templatePath){@Overridepublic StringoutputFile(TableInfo tableInfo){// 自定義輸出檔名 , 如果你 Entity 設定了前後綴、此處注意 xml 的名稱會跟著發生變化!!return projectPath+"/mybatis-plus-01-start/src/main/resources/mapper/"+ tableInfo