【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生成的资源



博客中若有不恰当的地方,请您一定要告诉我。前路崎岖,望我们可以互相帮助,并肩前行!



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