Springboot整合mybatis plus快速开发后台Api
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wolf_goat/article/details/81874455
先说一下效果:
构造数据表,一键生成entity,controller ,mapper ,xml ,service,serviceImpl文件
是不是很酷?下面就说一下如何使用,以及使用的时候需要注意的细节。
1.首先在pom.xml引入velocity模板引擎
-
<dependency>
-
<groupId>org.apache.velocity</groupId>
-
<artifactId>velocity-engine-core</artifactId>
-
<version>2.0</version>
-
</dependency>
2.写一个config 文件,主要用途是mp里面有一个支持物理分页查询的方法selectPage()
-
MybatisPlusConfig.java
-
-
“com.cloudwalk.mapper”)(
-
-
public class MybatisPlusConfig {
-
-
public PerformanceInterceptor performanceInterceptor() {
-
return new PerformanceInterceptor();
-
}
-
-
-
public PaginationInterceptor paginationInterceptor(){
-
PaginationInterceptor page = new PaginationInterceptor();
-
//设置方言类型
-
page.setDialectType(“mysql”);
-
return page;
-
}
-
-
}
3.编写自动生成的类,设置好文件生成的路径和生成的规则
-
CodeGeneration.java
-
-
import com.baomidou.mybatisplus.generator.AutoGenerator;
-
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
-
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
-
import com.baomidou.mybatisplus.generator.config.PackageConfig;
-
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
-
import com.baomidou.mybatisplus.generator.config.rules.DbType;
-
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
-
-
public class CodeGeneration {
-
public static void main(String[] args) {
-
AutoGenerator mpg = new AutoGenerator();
-
-
// 全局配置
-
GlobalConfig gc = new GlobalConfig();
-
gc.setOutputDir(“D:\\automl-master\\Automl\\portal\\src\\main\\java”);
-
gc.setFileOverride(true);
-
gc.setActiveRecord(false);// 不需要ActiveRecord特性的请改为false
-
gc.setEnableCache(false);// XML 二级缓存
-
gc.setBaseResultMap(true);// XML ResultMap
-
gc.setBaseColumnList(false);// XML columList
-
gc.setAuthor(“garve”);// 作者
-
-
// 自定义文件命名,注意 %s 会自动填充表实体属性!
-
gc.setControllerName(“%sContrroller”);
-
gc.setServiceName(“%sService”);
-
gc.setServiceImplName(“%sServiceImpl”);
-
gc.setMapperName(“%sMapper”);
-
gc.setXmlName(“%sMapper”);
-
mpg.setGlobalConfig(gc);
-
-
// 数据源配置
-
DataSourceConfig dsc = new DataSourceConfig();
-
dsc.setDbType(DbType.MYSQL);
-
dsc.setDriverName(“com.mysql.jdbc.Driver”);
-
dsc.setUsername(“automl”);
-
dsc.setPassword(“automl!23”);
-
dsc.setUrl(“jdbc:mysql://automl.cmx6m3lqqspg.rds.cn-northwest-1.amazonaws.com.cn:3306/automl”);
-
mpg.setDataSource(dsc);
-
-
// 策略配置
-
StrategyConfig strategy = new StrategyConfig();
-
strategy.setTablePrefix(new String[] { “” });// 此处可以修改为您的表前缀
-
strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
-
strategy.setInclude(new String[] { “sys_trial” }); // 需要生成的表
-
-
strategy.setSuperServiceClass(null);
-
strategy.setSuperServiceImplClass(null);
-
strategy.setSuperMapperClass(null);
-
-
mpg.setStrategy(strategy);
-
-
// 包配置
-
PackageConfig pc = new PackageConfig();
-
pc.setParent(“com.cloudwalk”);
-
pc.setController(“controller”);
-
pc.setService(“service”);
-
pc.setServiceImpl(“serviceImpl”);
-
pc.setMapper(“mapper”);
-
pc.setEntity(“entity”);
-
pc.setXml(“xml”);
-
mpg.setPackageInfo(pc);
-
-
// 执行生成
-
mpg.execute();
-
-
}
-
-
}
4.创建好数据表,运行这个main()方法就OK了。
注意点:多次运行,生成的文件名相同时,之前的文件会被覆盖,新建的表,生成文件夹则不会出现此问题。生成的mapper文件,要在class之前加@Mapper。
5.mabatis plus 的两大优点,自动生成代码,条件构造器,玩转条件构造器,几乎不用写一条sql语句,我开发了一个系统一条手写的sql语句都没有,爽歪歪。