下面就为您详细讲解“基于Mybatis plus 自动代码生成器的实现代码”的完整攻略。首先我们来了解一下Mybatis plus自动代码生成器。
Mybatis plus是Mybatis的增强版,提供了很多实用的功能,其中就包括代码生成器。Mybatis plus代码生成器可以根据数据库表生成对应的JavaBean、Mapper、Service等代码,大大提高了开发效率,减轻了开发负担。
下面是基于Mybatis plus自动代码生成器的实现代码的具体攻略:
步骤一:引入依赖
首先,在maven中引入Mybatis plus的依赖,代码如下:
<!-- 引入Mybatis plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
步骤二:创建数据表
创建一张数据表,这里以学生表(student)为例。表结构如下:
CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`name` varchar(30) DEFAULT NULL COMMENT '姓名',
`age` int(3) DEFAULT NULL COMMENT '年龄',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='学生表';
步骤三:配置Mybatis plus
在application.yml配置文件中添加Mybatis plus的配置,具体如下:
mybatis-plus:
mapper-locations: classpath*:mapper/*.xml
type-aliases-package: org.example.pojo
global-config:
db-config:
id-type: auto
mapper-locations:指定Mapper文件所在的位置,这里配置的是classpath:mapper/.xml,表示Mapper文件在classpath路径下的mapper目录中,且后缀为.xml。
type-aliases-package:指定实体类所在的包路径。
global-config:全局配置项
id-type:主键生成策略,这里配置的是auto,表示自动识别。
步骤四:配置代码生成器
在配置类中添加Mybatis plus代码生成器的配置,代码如下:
@Configuration
public class MybatisPlusConfig {
@Autowired
private DataSource dataSource;
@Bean
public CodeGenerator mpg() {
// 代码生成器
CodeGenerator mpg = new CodeGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
gc.setOutputDir(projectPath + "/src/main/java");
gc.setAuthor("Your Name");
gc.setOpen(false);
gc.setEntityName("%sEntity");
gc.setMapperName("%sDao");
gc.setXmlName("%sMapper");
gc.setServiceName("I%sService");
gc.setServiceImplName("%sServiceImpl");
gc.setControllerName("%sController");
gc.setIdType(IdType.AUTO);
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/test");
// dsc.setSchemaName("public");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("123456");
mpg.setDataSource(dsc);
// 包配置
PackageConfig pc = new PackageConfig();
pc.setModuleName(null);
pc.setParent("org.example");
pc.setEntity("pojo");
mpg.setPackageInfo(pc);
// 开启生成
mpg.execute();
return mpg;
}
}
dataSource:注入数据源。
mpg:创建代码生成器实例。
GlobalConfig:全局配置。
outputDir:代码输出路径,这里配置的是/src/main/java。
author:作者名字。
open:是否打开输出目录(默认是false)。
entityName:实体类命名方式,这里配置的是%sEntity,表示实体类名字以Entity结尾。
mapperName:Mapper命名方式,这里配置的是%sDao,表示Mapper名字以Dao结尾。
xmlName:XML命名方式,这里配置的是%sMapper,表示XML文件名字以Mapper结尾。
serviceName:Service命名方式,这里配置的是I%sService,表示Service名字以I开头。
serviceImplName:ServiceImpl命名方式,这里配置的是%sServiceImpl,表示ServiceImpl名字以ServiceImpl结尾。
controllerName:Controller命名方式,这里配置的是%sController,表示Controller名字以Controller结尾。
idType:主键生成方式,这里配置了IdType.AUTO,表示自动识别主键类型。
DataSourceConfig:数据源配置。
url:数据库连接地址。
driverName:数据库驱动名。
username:数据库用户名。
password:数据库密码。
PackageConfig:包配置。
moduleName:模块名字。
parent:父包名字。
entity:实体类所在的包名字。
execute:代码生成器执行。
两条示例:
示例1:生成Student实体类、StudentDao、StudentMapper、StudentService和StudentServiceImpl。
示例2:生成Course实体类、CourseDao、CourseMapper、CourseService和CourseServiceImpl。
以上就是基于Mybatis plus自动代码生成器的实现代码的完整攻略,如果您还有疑问或需要了解更多关于Mybatis plus的知识,请随时咨询。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于Mybatis plus 自动代码生成器的实现代码 - Python技术站