Springboot整合MybatisPlus的实现过程解析
这篇文章主要介绍了Springboot整合MybatisPlus的实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
1、pom文件
4.0.0 com.cun plus 0.0.1-SNAPSHOT jar plus DemoprojectforSpringBoot org.springframework.boot spring-boot-starter-parent 1.5.14.RELEASE UTF-8 UTF-8 1.8 org.springframework.boot spring-boot-starter-web mysql mysql-connector-java runtime org.springframework.boot spring-boot-starter-test test com.baomidou mybatis-plus-boot-starter 2.3 org.freemarker freemarker 2.3.28 com.alibaba druid-spring-boot-starter 1.1.10 org.springframework.boot spring-boot-maven-plugin
2、创建CodeGenerator.java
packagecom.cun.plus;
importcom.baomidou.mybatisplus.enums.IdType;
importcom.baomidou.mybatisplus.generator.AutoGenerator;
importcom.baomidou.mybatisplus.generator.config.DataSourceConfig;
importcom.baomidou.mybatisplus.generator.config.GlobalConfig;
importcom.baomidou.mybatisplus.generator.config.PackageConfig;
importcom.baomidou.mybatisplus.generator.config.StrategyConfig;
importcom.baomidou.mybatisplus.generator.config.rules.DbType;
importcom.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
importcom.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
publicclassCodeGenerator{
publicstaticvoidmain(String[]args){
//1.全局配置
GlobalConfigconfig=newGlobalConfig();
config.setActiveRecord(false)//是否支持AR模式
.setAuthor("len")//作者
.setOutputDir(".\\src\\main\\java")//生成路径
.setFileOverride(true)//文件覆盖
.setIdType(IdType.AUTO)//主键策略
.setServiceName("I%sService")//设置生成的service接口的名字的首字母是否为I
//IUserService
.setBaseResultMap(true)
.setBaseColumnList(true);
//2.数据源配置
DataSourceConfigdsConfig=newDataSourceConfig();
dsConfig.setDbType(DbType.MYSQL)//设置数据库类型
.setDriverName("com.mysql.jdbc.Driver")
.setUrl("jdbc:mysql://localhost:3306/mydatab?useSSL=true&verifyServerCertificate=false&allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8")
.setUsername("root")
.setPassword("lqq74561");
//3.策略配置
//配置要生成的表的表名
String[]tableName={"system_power_type","system_admin","company","power_api","power_action","power_action_api","power_action_group","power_admin_group","power_group"};
StrategyConfigstConfig=newStrategyConfig();
stConfig.setCapitalMode(true)//全局大写命名
.setDbColumnUnderline(true)//指定表名字段名是否使用下划线
.setNaming(NamingStrategy.underline_to_camel)//数据库表映射到实体的命名策略
.setTablePrefix("tb_")
.setInclude(tableName);//生成的表
//4.包名策略配置
PackageConfigpkConfig=newPackageConfig();
pkConfig.setParent("com.cun.plus")
.setMapper("mapper")
.setService("service")
.setController("controller")
.setEntity("entity")
.setXml("mapper");
//5.整合配置
AutoGeneratorag=newAutoGenerator();
ag.setGlobalConfig(config)
.setDataSource(dsConfig)
.setStrategy(stConfig)
.setPackageInfo(pkConfig);
//6.执行
ag.setTemplateEngine(newFreemarkerTemplateEngine());
ag.execute();
}
}
3、在application.yml中配置mybatis-plus
#mybatis-plus mybatis-plus: #xml mapper-locations:classpath:/mapper/*Mapper.xml #bean typeAliasesPackage:com.cun.plus.entity global-config: #3:"UUID"; id-type:3 field-strategy:2 db-column-underline:true key-generator:com.baomidou.mybatisplus.incrementer.OracleKeyGenerator logic-delete-value:1 logic-not-delete-value:0 sql-injector:com.baomidou.mybatisplus.mapper.LogicSqlInjector configuration: map-underscore-to-camel-case:true cache-enabled:false #JdbcTypeForNull jdbc-type-for-null:'null'
4、创建MybatisPlusConfig.java文件
packagecom.cun.plus.conf;
importorg.mybatis.spring.annotation.MapperScan;
importorg.springframework.context.annotation.Configuration;
@Configuration
@MapperScan("com.cun.plus.mapper")
publicclassMybatisPlusConfig{
}
其他
Wrapper:MP内置条件封装器。
Sql分析器:(MybatisPlusConfig.java中)
/**
*SQL执行效率插件
*/
@Bean
@Profile({"dev","test"})//设置devtest环境开启
publicPerformanceInterceptorperformanceInterceptor(){
returnnewPerformanceInterceptor();
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。