1、pom文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
| <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>
<groupId>com.cun</groupId> <artifactId>plus</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging>
<name>plus</name> <description>Demo project for Spring Boot</description>
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.14.RELEASE</version> <relativePath/> </parent>
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties>
<dependencies>
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>2.3</version> </dependency>
<dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.28</version> </dependency>
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.10</version> </dependency>
</dependencies>
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
</project>
|
2、创建CodeGenerator.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| package com.cun.plus;
import com.baomidou.mybatisplus.enums.IdType; 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; import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
public class CodeGenerator { public static void main(String[] args) { GlobalConfig config = new GlobalConfig(); config.setActiveRecord(false) .setAuthor("len") .setOutputDir(".\\src\\main\\java") .setFileOverride(true) .setIdType(IdType.AUTO) .setServiceName("I%sService") .setBaseResultMap(true) .setBaseColumnList(true);
DataSourceConfig dsConfig = new DataSourceConfig(); 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");
String[] tableName = {"system_power_type","system_admin","company","power_api","power_action","power_action_api","power_action_group","power_admin_group","power_group"}; StrategyConfig stConfig = new StrategyConfig(); stConfig.setCapitalMode(true) .setDbColumnUnderline(true) .setNaming(NamingStrategy.underline_to_camel) .setTablePrefix("tb_") .setInclude(tableName);
PackageConfig pkConfig = new PackageConfig(); pkConfig.setParent("com.cun.plus") .setMapper("mapper") .setService("service") .setController("controller") .setEntity("entity") .setXml("mapper");
AutoGenerator ag = new AutoGenerator(); ag.setGlobalConfig(config) .setDataSource(dsConfig) .setStrategy(stConfig) .setPackageInfo(pkConfig);
ag.setTemplateEngine(new FreemarkerTemplateEngine()); ag.execute(); } }
|
3、在application.yml中配置mybatis-plus
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| mybatis-plus: mapper-locations: classpath:/mapper/*Mapper.xml typeAliasesPackage: com.cun.plus.entity global-config: 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 jdbc-type-for-null: 'null'
|
4、创建MybatisPlusConfig.java文件
1 2 3 4 5 6 7 8 9 10 11 12
| package com.cun.plus.conf;
import org.mybatis.spring.annotation.MapperScan; import org.springframework.context.annotation.Configuration;
@Configuration @MapperScan("com.cun.plus.mapper") public class MybatisPlusConfig {
}
|
其他
Wrapper:MP内置条件封装器。
Sql分析器:(MybatisPlusConfig.java中)
1 2 3 4 5 6 7 8
|
@Bean @Profile({"dev","test"}) public PerformanceInterceptor performanceInterceptor() { return new PerformanceInterceptor(); }
|