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(); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。