《鬼谷八荒》洪荒難度水修玩法心得與BOSS打法分享
阿新 • • 發佈:2021-04-04
MyBatisPlus
1 生成模組(generator
模組)
1 pom檔案
mybatis-plus要保持包版本一致
1 MyBatisPlus 相關包
<dependency>
<groupId> mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter< /artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.3.2</version>
</dependency>
< dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-annotation</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.31</version>
</dependency>
2 生成模組generator
模組的程式碼生成類
1 模板類
對照註釋按需求進行修改即可
package com.wy.util;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import com.wy.pojo.BasePojo;
import java.util.HashMap;
/**
* @program: Coding
* @Description: TODO
* @Author: [email protected]
*/
public class Coding {
public static void main(String[] args) {
AutoGenerator mpg = new AutoGenerator();
GlobalConfig gc = new GlobalConfig();
String basePath = System.getProperty("user.dir");
// 第一步設定作者
gc.setOutputDir(basePath);
gc.setAuthor("sucre"); //在這裡設定作者名
gc.setOpen(false);
mpg.setGlobalConfig(gc);
// 第二步資料庫連線設定 ( ip 埠號 mysql的賬號密碼)
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUrl("jdbc:mysql://192.168.19.132:3306/db1?useUnicode=true&characterEncoding=utf8");
dsc.setUsername("root");
dsc.setPassword("root");
mpg.setDataSource(dsc);
// 第三步包配置
PackageConfig pc = new PackageConfig();
//設定父包
pc.setParent("com.wy");
//定義子專案名稱(子模組名裡面有 controll service mapper)
String projectName = "user";
//實體類所存在的專案名
pc.setEntity("pojo");
// 第四步自定義生成路徑(自己根據需要改)
// xml檔案生成在 resource 資料夾下,實體類生成到公共資源 pojo 專案下
HashMap<String, String> pathInfo = new HashMap<String, String>();
pathInfo.put("entity_path",basePath + "/pojo/src/main/java/com/wy/pojo");
pathInfo.put("mapper_path",basePath + "/" + projectName + "/src/main/java/com/wy/mapper");
pathInfo.put("xml_path",basePath + "/" + projectName + "/src/main/resources/com/wy/mapper");
pathInfo.put("service_path",basePath + "/" + projectName + "/src/main/java/com/wy/service");
pathInfo.put("service_impl_path",basePath + "/" + projectName + "/src/main/java/com/wy/service/impl");
pathInfo.put("controller_path",basePath + "/" + projectName + "/src/main/java/com/wy/controller");
pc.setPathInfo(pathInfo);
mpg.setPackageInfo(pc);
// 第五步配置生成策略
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
// 設定實體類是否需要繼承父類,此處為繼承父類BasePojo中的id屬性
// 而且要把pojo作為jar包交給父工程管理,然後在generator的pom檔案引入pojo這個jar包
// 這樣才能使用如下這個功能
strategy.setSuperEntityClass(BasePojo.class);
// 是否使用Lombok註解
strategy.setEntityLombokModel(true);
// 是否使用RestController註解
strategy.setRestControllerStyle(true);
// 不需要生成的欄位
// 前面設定了id繼承了父類,所有這裡設定不需要生成id欄位
strategy.setSuperEntityColumns("id");
// 設定要生成的表名(多個表明之間用逗號隔開)
strategy.setInclude("ums_user");
strategy.setControllerMappingHyphenStyle(true);
mpg.setStrategy(strategy);
mpg.setTemplateEngine(new FreemarkerTemplateEngine()); //模板引擎用freemarker
mpg.execute();
}
}
2 報錯處理
出現 Class Not Found
就表示有包沒匯入
2 公共資源模組(pojo
模組)
1 pom檔案
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-annotation</artifactId>
<version>3.3.2</version>
</dependency>
2 實體類
package com.wy.pojo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
/**
* @program: BasePojo
* @Description: TODO
* @Author: [email protected]
*/
@Data
public class BasePojo {
@TableId(type = IdType.AUTO)
private Long id;
}
3 啟動準備
檢查mysql的配置檔案是否匹配
mysql是否啟動
執行自動生成檔案
4 註解
1 修改RequestMapping註解
自動生成的註解多了一個‘/’
刪除
2 在主程式入口新增包掃描註解
@MapperScan(basePackages = "com.wy.mapper")
5 設定配置檔案
mybatis-plus:
type-aliases-package: com.wy.pojo