您的位置:首页技术文章
文章详情页

springboot结合mybatis-plus快速生成项目模板的方法

浏览:50日期:2023-03-06 18:18:40
目录mybatis-plus简介:项目模板1、项目概览2、美化swagger-uimybatis-plus简介:

Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。这是官方给的定义,关于mybatis-plus的更多介绍及特性,可以参考mybatis-plus官网。那么它是怎么增强的呢?其实就是它已经封装好了一些crud方法,我们不需要再写xml了,直接调用这些方法就行,就类似于JPA。

项目模板1、项目概览

项目结构

springboot结合mybatis-plus快速生成项目模板的方法

创建项目时,父项目用springboot,子项目用maven,父项目统一管理,子项目分模块

springboot父项目(子项目用maven建)- common模块- web模块- .......

父项目pom.xml:统一管理版本

<properties> <!--java8--> <java.version>1.8</java.version> <!--mybatis-plus--> <mp.version>3.4.2</mp.version> <!--swagger--> <swagger.version>3.0.0</swagger.version> <!--velocity模板引擎--> <velocity.version>2.3</velocity.version> <!--java连接数据库--> <mysql-connect-java.version>8.0.25</mysql-connect-java.version> <!--velocity--> <velocity.version>2.3</velocity.version> <!--mybatis-plus-generator--> <mybatis-plus-generator.version>3.4.1</mybatis-plus-generator.version> <!--knife4j--> <knife4j.version>3.0.2</knife4j.version></properties><dependencyManagement> <dependencies><dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>${mp.version}</version></dependency><dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>${mybatis-plus-generator.version}</version></dependency><dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>${velocity.version}</version></dependency><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>${swagger.version}</version></dependency><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>${swagger.version}</version></dependency><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql-connect-java.version}</version></dependency><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>${knife4j.version}</version></dependency> </dependencies></dependencyManagement><build> <plugins><plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration><skip>true</skip> </configuration></plugin> </plugins></build>

子项目pom.xml:公共模块(common)提取出来

<dependencies> <!--controller相关--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency> <!--mybatis-plus--> <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId> </dependency> <!--代码生成器--> <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId> </dependency> <dependency><groupId>org.apache.velocity</groupId><artifactId>velocity-engine-core</artifactId> </dependency> <!--swagger--> <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId> </dependency> <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId> </dependency> <!--java连接数据库--> <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId> </dependency> <!--lombok--> <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId> </dependency><!--knife4j--> <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId> </dependency></dependencies><build> <plugins><plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration><skip>true</skip> </configuration></plugin> </plugins></build>

子项目web模块pom.xml(直接引用common模块)

<dependencies> <dependency><groupId>cn.jie</groupId><artifactId>admin-base-common</artifactId><version>0.0.1-SNAPSHOT</version> </dependency></dependencies>

代码生成器

public class CodeGenerator { /** * <p> * 读取控制台内容 * </p> */ public static String scanner(String tip) {Scanner scanner = new Scanner(System.in);StringBuilder help = new StringBuilder();help.append('请输入' + tip + ':');System.out.println(help.toString());if (scanner.hasNext()) { String ipt = scanner.next(); if (StringUtils.isNotBlank(ipt)) {return ipt; }}throw new MybatisPlusException('请输入正确的' + tip + '!'); } public static void main(String[] args) {// 代码生成器AutoGenerator mpg = new AutoGenerator();// 全局配置GlobalConfig gc = new GlobalConfig();String projectPath = scanner('项目路径');//项目生成路径gc.setOutputDir(projectPath + '/src/main/java');gc.setAuthor('sky');//打开资源管理器gc.setOpen(false);//开启swaggergc.setSwagger2(true);//覆盖文件gc.setFileOverride(false);gc.setServiceName('%sService');//主键自增gc.setIdType(IdType.AUTO);//java.util.dategc.setDateType(DateType.ONLY_DATE);mpg.setGlobalConfig(gc);// 数据源配置DataSourceConfig dsc = new DataSourceConfig();dsc.setUrl('jdbc:mysql://localhost:3306/adminweb?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=GMT%2B8');// dsc.setSchemaName('public');dsc.setDriverName('com.mysql.cj.jdbc.Driver');dsc.setUsername('root');dsc.setPassword('root');dsc.setDbType(DbType.MYSQL);mpg.setDataSource(dsc);// 包配置PackageConfig pc = new PackageConfig();pc.setModuleName(scanner('模块名'));pc.setParent('cn.jie');pc.setEntity('entity');pc.setMapper('mapper');pc.setController('controller');pc.setService('service');pc.setServiceImpl('service.impl');mpg.setPackageInfo(pc);// 策略配置StrategyConfig strategy = new StrategyConfig();//表strategy.setInclude(scanner('表名,多个英文逗号分割').split(','));//驼峰命名strategy.setNaming(NamingStrategy.underline_to_camel);strategy.setColumnNaming(NamingStrategy.underline_to_camel);//lombokstrategy.setEntityLombokModel(true);//restfulstrategy.setRestControllerStyle(true);strategy.setControllerMappingHyphenStyle(true);mpg.setStrategy(strategy);mpg.execute(); }}

springboot配置

spring: application: name: admin-base-web datasource: type: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/adminweb?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=GMT%2B8 username: root password: root jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8server: port: 8081mybatis-plus: global-config: db-config: logic-delete-field: deleted # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2) logic-delete-value: 1 # 逻辑已删除值(默认为 1) logic-not-delete-value: 0 # 逻辑未删除值(默认为 0) mapper-locations: classpath*:/mapper/*.xml

springboot结合mybatis-plus快速生成项目模板的方法

2、美化swagger-ui

swagger注意要用3.0.0版本

配置完swagger2config

@Configuration@EnableSwagger2@EnableKnife4j@Import(BeanValidatorPluginsConfiguration.class)public class Swagger2Config { @Bean(value = 'defaultApi2') public Docket defaultApi2() {Docket docket=new Docket(DocumentationType.SWAGGER_2).apiInfo(new ApiInfoBuilder()//.title('swagger-bootstrap-ui-demo RESTful APIs').description('物资管理系统API文档').termsOfServiceUrl('https://www.cnblogs.com/thatbluesky/').contact(new Contact('我的博客','https://www.cnblogs.com/thatbluesky/','1879186403@qq.com')).version('1.0').build())//分组名称.groupName('1.0版本').select()//这里指定Controller扫描包路径.apis(RequestHandlerSelectors.basePackage('cn.jie.system.controller')).paths(PathSelectors.any()).build();return docket; }}

访问:http://localhost:8081/doc.html

springboot结合mybatis-plus快速生成项目模板的方法

以上就是springboot结合mybatis-plus快速生成项目模板的方法的详细内容,更多关于springboot mybatis-plus项目模板 的资料请关注好吧啦网其它相关文章!

标签: Spring
相关文章: