【MyBatisPlus筆記整理四】逆向工程

版權聲明:本文爲 小異常 原創文章,非商用自由轉載-保持署名-註明出處,謝謝!
本文網址:https://blog.csdn.net/sun8112133/article/details/106917503







本篇博客主要向大家介紹 MyBatis Plus 的一種自動化代碼生成方案,這種方案叫做 逆向工程(MyBatis Plus Generator),MP 逆向工程 比 MyBatis 逆向工程好用的多,能夠自動生成實體類、Mapper、Service、ServiceImpl、Controller,它可以根據 Velocity 模板來生成實體類及各種組件。

本篇博客以一個小案例給大家講解 MP 逆向工程


一、引入依賴

pom.xml 中導入 MyBatis Plus Generator 依賴,還需要同時引入 Velocity 依賴,因爲 Velocity 是 MP 默認的模板引擎,所以需要一同引入。

<!-- MyBatis Plus Generator 依賴 -->
<dependency>
	<groupId>com.baomidou</groupId>
	<artifactId>mybatis-plus-generator</artifactId>
	<version>3.3.1.tmp</version>
</dependency>

<!-- Velocity 依賴 -->
<dependency>
	<groupId>org.apache.velocity</groupId>
	<artifactId>velocity</artifactId>
	<version>1.7</version>
</dependency>


二、啓動類

通過運行啓動類就能自動生成所需要各種組件。

其中 System.getProperty(“user.dir”); 這句話的作用是獲取用戶當前的工作目錄。

public static void main(String[] args) {
	// 創建 generator 對象(生成的對象)
	AutoGenerator autoGenerator = new AutoGenerator();

	// 數據源
	DataSourceConfig dataSourceConfig = new DataSourceConfig();
	dataSourceConfig.setDbType(DbType.MYSQL);
	dataSourceConfig.setUrl("jdbc:mysql:///demo?useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true");
	dataSourceConfig.setUsername("root");
	dataSourceConfig.setPassword("123456");
	dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
	autoGenerator.setDataSource(dataSourceConfig);

	// 全局配置
	GlobalConfig globalConfig = new GlobalConfig();
	globalConfig.setOutputDir(System.getProperty("user.dir") + "/src/main/java");   // 設置生成的目錄
	globalConfig.setOpen(false);  // 生成成功後不會自動打開這個文件夾
	globalConfig.setAuthor("demo");  // 生成的作者
	globalConfig.setServiceName("%sService");  // Service接口去掉前面的I
	autoGenerator.setGlobalConfig(globalConfig);
    
	// 包信息
	PackageConfig packageConfig = new PackageConfig();
	packageConfig.setParent("com.demo");  // 設置父包
	packageConfig.setModuleName("generator");
	packageConfig.setController("controller");
	packageConfig.setService("service");
	packageConfig.setServiceImpl("serviceImpl");
	packageConfig.setMapper("mapper");
	packageConfig.setEntity("entity");
	autoGenerator.setPackageInfo(packageConfig);

	// 配置策略
	StrategyConfig strategyConfig = new StrategyConfig();
	//        strategyConfig.setInclude("t_user");  // 要生成的表名
	strategyConfig.setEntityLombokModel(true);  // 自動添加 Lombok 註解 
	strategyConfig.setNaming(NamingStrategy.underline_to_camel);  // 數據庫表映射到實體的命名策略,下劃線轉駝峯命名
	strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);  // 數據庫表字段映射到實體的命名策略,下劃線轉駝峯命名
	autoGenerator.setStrategy(strategyConfig);

	// 執行 
	autoGenerator.execute();
}

04生成的資源



博客中若有不恰當的地方,請您一定要告訴我。前路崎嶇,望我們可以互相幫助,並肩前行!



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章