简介
MyBatis-Plus (简称 MP) 是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。官网地址
Spring Boot 集成
在Spring Boot中集成Mybatis Plus的方式非常简单,只需添加相关的依赖即可。
-
在
pom.xml文件中引入 相关依赖 依赖<!--mysql 驱动--> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> </dependency> <!--mybatis plus--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.3.1</version> </dependency> <!--代码生成器--> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.5.3.1</version> </dependency> <!--freemarker--> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> </dependency> -
配置Mybatis plus
#mysql 配置 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.username=root spring.datasource.password=root spring.datasource.url=jdbc:mysql://localhost:3306/mingsl mybatis-plus.mapper-locations=classpath*:/mapper/**/*.xml spring.application.name=mingsl-project #配置日志的打印级别 logging.level.com.mingsl.lesson=debug logging.file.path=logs logging.file.name=${logging.file.path}/${spring.application.name}.log -
配置代码生成器
@SpringBootTest public class TestMybatisPlus { @Resource private ISysUserService iSysUserService; @Test public void testMP(){ FastAutoGenerator.create("jdbc:mysql://localhost:3306/mingsl", "root", "root") .globalConfig(builder -> { builder.author("小霍") // 设置作者 .disableOpenDir() .enableSwagger() // 开启 swagger 模式 .outputDir("生成文件路径"); // 指定输出目录 }) .dataSourceConfig(builder -> builder.typeConvertHandler((globalConfig, typeRegistry, metaInfo) -> { int typeCode = metaInfo.getJdbcType().TYPE_CODE; if (typeCode == Types.TINYINT) { // 自定义类型转换 return DbColumnType.INTEGER; } return typeRegistry.getColumnType(metaInfo); })) .packageConfig(builder -> { builder.parent("com.mingsl") // 设置父包名 .moduleName("lesson") // 设置父包模块名 .pathInfo(Collections.singletonMap(OutputFile.xml, "生成文件路径")); // 设置mapperXml生成路径 }) .strategyConfig(builder -> { builder.addInclude("sys_user") // 设置需要生成的表名 .entityBuilder() .enableFileOverride() //文件自动覆盖 .enableLombok() .idType(IdType.ASSIGN_ID) .mapperBuilder() .enableFileOverride() .enableBaseResultMap() .controllerBuilder() .enableRestStyle() .enableFileOverride() ; }) .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板 .execute(); } } -
启动类配置扫码mapper接口
@SpringBootApplication @MapperScan("com.mingsl.lesson.mapper") public class MingslAdminApiApplication { public static void main(String[] args) { SpringApplication.run(MingslAdminApiApplication.class, args); } }