springboot配置数据库连接池,springboot整合mybatis以及整合pagehelper

springboot整合mybatis

    • 一、springboot配置数据库连接池druid
      • 1.新建springboot项目
      • 2.相关pom依赖
      • 3.配置application.yml
      • 案例(三个)
        • 案例1(say1)
        • 案例2(say2)
        • 案例3(say3)
    • 二、springboot整合mybatis
      • springboot整合mybatis逆向生成插件
      • 逆向生成配置文件generatorConfig.xml
      • 运行生成
      • 测试
    • 三、springboot整合pagehelper
      • 导入相关pom依赖
      • 配置application.yml文件
      • 测试

一、springboot配置数据库连接池druid

1.新建springboot项目

需要用到空色框里的这些文件
springboot配置数据库连接池,springboot整合mybatis以及整合pagehelper_第1张图片

druid学习地址
https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter

2.相关pom依赖

druid所需pom依赖

<dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>druid-spring-boot-starter</artifactId>
     <version>1.1.10</version>
  </dependency>

mysql我们不用它默认的版本,换一个低一点的版本
springboot配置数据库连接池,springboot整合mybatis以及整合pagehelper_第2张图片
springboot配置数据库连接池,springboot整合mybatis以及整合pagehelper_第3张图片
手动导入

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aspects</artifactId>
</dependency>

3.配置application.yml

application.yml配置druid
springboot默认数据源是:org.apache.tomcat.jdbc.pool.DataSource

server:
  port: 80
  servlet:
    context-path: /
spring:
  datasource:
    #1.JDBC
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.jdbc.Driver
      url: jdbc:mysql://localhost:3306/mybatis_ssm?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
    username: mybatis_ssm
    password: xiaoli
    druid:
      #2.连接池配置
      #初始化连接池的连接数量 大小,最小,最大
      initial-size: 5
      min-idle: 5
      max-active: 20
      #配置获取连接等待超时的时间
      max-wait: 60000
       #配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
      time-between-eviction-runs-millis: 60000
      # 配置一个连接在池中最小生存的时间,单位是毫秒
      min-evictable-idle-time-millis: 30000
      validation-query: SELECT 1 FROM DUAL
      test-while-idle: true
      test-on-borrow: true
      test-on-return: false
      # 是否缓存preparedStatement,也就是PSCache  官方建议MySQL下建议关闭   个人建议如果想用SQL防火墙 建议打开
      pool-prepared-statements: true
      max-pool-prepared-statement-per-connection-size: 20
      # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
      filter:
        stat:
          merge-sql: true
          slow-sql-millis: 5000
      #3.基础监控配置
      web-stat-filter:
        enabled: true
        url-pattern: /*
        #设置不统计哪些URL
        exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
        session-stat-enable: true
        session-stat-max-count: 100
      stat-view-servlet:
        enabled: true
        url-pattern: /druid/*
        reset-enable: true
        #设置监控页面的登录名和密码
        login-username: admin
        login-password: admin
        allow: 127.0.0.1
        #deny: 192.168.1.100

springboot整合druid成功截图
启动SpringBoot项目访问druid, http://localhost:tomcat端口号/项目名称/druid/
登录账号跟密码与这里面的配置相匹配:
springboot配置数据库连接池,springboot整合mybatis以及整合pagehelper_第4张图片
springboot配置数据库连接池,springboot整合mybatis以及整合pagehelper_第5张图片

springboot配置数据库连接池,springboot整合mybatis以及整合pagehelper_第6张图片
springboot配置数据库连接池,springboot整合mybatis以及整合pagehelper_第7张图片

案例(三个)

在这里插入图片描述

package com.yuan.springboot02.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
@RequestMapping("/demo")
public class HelloController {
   

    @RequestMapping("/say1")
    public String say1(){
   
        return "说活1";
    }

    @RequestMapping("/say2")
    public String say2(){
   
        try {
   
            Thread.sleep(2000);
        } catch (InterruptedException e) {
   
            e.printStackTrace();
        }
        return "说活2";
    }

    @RequestMapping(

你可能感兴趣的:(笔记)