idea创建springboot项+集成阿里连接池druid

1:前提准备

  1. 准备开发工具:idea

  2. java环境:jdk1.8

  3. 安装插件lombook
    在这里插入图片描述

2:创建springboot项目流程

  1. 依次选择:File–>New–>Project…
    在这里插入图片描述

  2. 选择Spring Initializr,依次填写和修改响应信息。

注意事项:Type: Maven(选择maven,要不生成的项目没有pom.xml文件存在)

在这里插入图片描述

  1. 由于官网地址可能因为网络等原因,会有问题,可以修改下镜像

https://start.aliyun.com

在这里插入图片描述

  1. 填写好之后,点击:next

  2. 选择版本和对应的依赖,确认无误点击:finish
    在这里插入图片描述

  3. 创建完成的目录结构
    在这里插入图片描述

  4. 修改application.priperties文件的后缀改成yml

  5. 添加基础的三层架构包,删除demos

控制层:controller
业务逻辑层:service、impl
数据访问层/持久层:mapper
实体:entity
··········································
初级可以补下相关知识
java培训技术关于三层架构和 MVC
java三层架构
java三层架构
什么是三层架构?

在这里插入图片描述

  1. application.yml 文件添加内容
spring:
  application:
    # 服务名称
    name: fallrain-boot
  profiles:
    # 选择环境,我这里创建了两个环境文件,dev:开发环境,prod: 正式发布环境
    # 正常有这么几个环境
    # 1:dev--本地开发环境;
    # 2:sit--测试环境;
    # 3:uat--准生产环境;
    # 4:prod--生产环境;
    active: dev
  mvc:
    pathmatch:
      matching-strategy: ant_path_matcher
mybatis:
  # 配置mapper.xml位置
  mapper-locations: classpath:mapper/**.xml
  1. application-dev.yml 文件添加内容
server:
  # 服务启动端口,可根据情况自定义
  port: 8989
spring:
  # 数据库连接
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/fallrain_boot?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&autoReconnect=true&allowMultiQueries=true
    username: root
    password: admin@123
swagger:
  # 是否开启swagger
  enable: true

  1. yml配置文件截图
    在这里插入图片描述

  2. 启动项目
    在这里插入图片描述

3:集成阿里连接池步骤

  1. 添加依赖(放入pom.xml,放入<dependencies></dependencies>标签中)
        <!-- 阿里云连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>${druid.version}</version>
        </dependency>

在这里插入图片描述

  1. 添加依赖版本管理(放入pom.xml,放入<properties></properties>标签中)
<druid.version>1.2.16</druid.version>

在这里插入图片描述

4:集成swagger方便测试

  1. 引入依赖,放在阿里连接池下面就行(放入pom.xml,放入<dependencies></dependencies>标签中)
<!-- Swagger API文档 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
            <exclusions>
                <exclusion>
                    <groupId>io.swagger</groupId>
                    <artifactId>swagger-annotations</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>io.swagger</groupId>
                    <artifactId>swagger-models</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
            <version>1.9.6</version>
        </dependency>
        <!-- # 增加两个配置解决 NumberFormatException -->
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-annotations</artifactId>
            <version>1.5.22</version>
        </dependency>
        <dependency>
            <groupId>io.swagger</groupId>
            <artifactId>swagger-models</artifactId>
            <version>1.5.22</version>
        </dependency>
        <!-- Swagger API文档 -->
  1. 创建配置类:Swagger2Config
在com.fallrain.fallrainspringboot文件夹下创建swagger,在创建类Swagger2Config

在这里插入图片描述

package com.fallrain.fallrainspringboot.swagger;

import com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrapUI;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

/**
 * @Decription SWAGGER
 */
@Slf4j
@Configuration
@EnableSwagger2
@EnableSwaggerBootstrapUI
@ConditionalOnProperty(name = "swagger.enable", havingValue = "true")
public class Swagger2Config implements WebMvcConfigurer {

    /**
     *
     * 显示swagger-ui.html文档展示页,还必须注入swagger资源:
     *
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }

    /**
     * swagger2的配置文件,这里可以配置swagger2的一些基本的内容,比如扫描的包等等
     *
     * @return Docket
     */
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                //此包路径下的类,才生成接口文档
                .apis(RequestHandlerSelectors.basePackage("com.fallrain.fallrainspringboot"))
                //加了ApiOperation注解的类,才生成接口文档
                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
                .paths(PathSelectors.any())
                .build();
//				.securitySchemes(Collections.singletonList(securityScheme()));
        //.globalOperationParameters(setHeaderToken());
    }


    /**
     * api文档的详细信息函数,注意这里的注解引用的是哪个
     *
     * @return
     */
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                // //大标题
                .title("XX项目-XX管理-API接口文档")
                // 版本号
                .version("1.0")
//				.termsOfServiceUrl("NO terms of service")
                // 描述
                .description("后台API接口")
                // 作者
                .contact("XXX团队")
                .license("The Apache License, Version 2.0")
                .licenseUrl("http://www.apache.org/licenses/LICENSE-2.0.html")
                .build();
    }

}

  1. 注意事项:包路径记得修改

.apis(RequestHandlerSelectors.basePackage(“com.fallrain.fallrainspringboot”))

  1. yml文件配置是否开启swagger
swagger:
  # 是否开启swagger
  enable: true

5:书写增删改查进行测试

  1. 引入lombok依赖(放入pom.xml,放入<dependencies></dependencies>标签中)
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.16</version>
        </dependency>
  1. 书写增删改查
  2. 测试:http://localhost:8989/doc.html
    在这里插入图片描述

6:项目gitee地址

https://gitee.com/itliulei/fallrainspringboot.git
数据库脚本:sql/fallrain_boot.sql

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
配置Spring Boot和MyBatis-Plus的连接池,你需要在pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.x.x</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.2.6</version> </dependency> ``` 其中,mybatis-plus-boot-starter是MyBatis-Plus的Spring Boot Starter,druid-spring-boot-starter是阿里巴巴的Druid连接池Spring Boot Starter。 然后,在application.properties文件中添加以下配置: ```properties # 数据库连接信息 spring.datasource.url=jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8&useSSL=false spring.datasource.username=root spring.datasource.password=root # 连接池配置 spring.datasource.druid.initial-size=5 spring.datasource.druid.min-idle=5 spring.datasource.druid.max-active=20 spring.datasource.druid.max-wait=60000 spring.datasource.druid.time-between-eviction-runs-millis=60000 spring.datasource.druid.min-evictable-idle-time-millis=300000 spring.datasource.druid.validation-query=SELECT 1 FROM DUAL spring.datasource.druid.test-while-idle=true spring.datasource.druid.test-on-borrow=false spring.datasource.druid.test-on-return=false spring.datasource.druid.pool-prepared-statements=true spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20 ``` 其中,spring.datasource.url、spring.datasource.username和spring.datasource.password是数据库连接信息,spring.datasource.druid.*是Druid连接池的相关配置。 最后,在Spring Boot配置类中添加以下代码: ```java @Configuration public class MybatisPlusConfig { @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); return interceptor; } @Bean public ConfigurationCustomizer configurationCustomizer() { return configuration -> configuration.setUseDeprecatedExecutor(false); } } ``` 这段代码的作用是配置MyBatis-Plus的分页插件和禁用MyBatis自带的Executor类型。这将使MyBatis-Plus使用新的Executor类型,从而提高性能。 现在,你已经成功地配置Spring Boot和MyBatis-Plus的连接池

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值