- 配置spring boot默认的连接池
- 阿里的druid连接池
- 整合mybatis
一,配置spring boot自带的tomcat下的连接池
1,在house-dao模块的pom.xml中添加如下依赖:
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--mybatis整合-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.2.0</version>
</dependency>
2,在house-dao->src->resources目录下新建一个mybatis文件夹,文件夹下创建mybatis-config.xml配置文件,再建立一个mapper文件夹,用于存放映射文件
mybatis配置文件mybatis-config.xml代码如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<!--配置关闭缓存-->
<setting name="cacheEnabled" value="false"/>
<!--表字段下划线映射成驼峰-->
<setting name="mapUnderscoreToCamelCase" value="true"/>
<setting name="useGeneratedKeys" value="true"/>
<setting name="defaultExecutorType" value="REUSE"/>
<!--事物超时时间-->
<setting name="defaultStatementTimeout" value="600"/>
</settings>
<!--使用别名-->
<typeAliases>
<package name="com.smart.house.model"/>
</typeAliases>
</configuration>
3,在house-web->resources目录下的application.properties属性文件中添加扫描映射文件与mybatis配置文件的路径,再配置tomcat自带的连接池数据源
#配置mybatis配置文件
mybatis.config-location=classpath:/mybatis/mybatis-config.xml
#配置mapper映射文件
mybatis.mapper-locations=classpath:/mapper/*.xml
#配置Tomcat自带的连接池
spring.datasource.url=jdbc:mysql://localhost:3306/houses?characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=281634
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
二,配置Durid连接池
1,在house-dao模块的pom.xml中添加如下依赖:(在原有的基础上再添加druid-spring-boot-starter)
<!--mysql驱动-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--mybatis整合-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.2.0</version>
</dependency>
<!--druid连接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.10</version>
</dependency>
2,在house-dao->src->main->java中创建smart.smart.house包,在包中再创建config子包,用于存放数据库连接池配置类,在config包下创建DuridConfig配置类,用于创建自定义的dataSources 与慢日志过滤器,代码如下:
package com.smart.house.config;
import com.alibaba.druid.filter.Filter;
import com.alibaba.druid.filter.stat.StatFilter;
import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.google.common.collect.Lists;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class DruidConfig {
@ConfigurationProperties(prefix = "spring.datasource")
@Bean(initMethod = "init",destroyMethod = "close")
public DruidDataSource dataSource(){ //创建数据源
DruidDataSource dataSource=new DruidDataSource();
dataSource.setProxyFilters(Lists.newArrayList(statFilter1())); //将慢日志加载到Druid连接池中
return dataSource;
}
//打印慢日志
@Bean
public Filter statFilter1(){
StatFilter filter=new StatFilter();
filter.setSlowSqlMillis(1); //指定慢sql的阙值5000ms
filter.setLogSlowSql(true); //打印慢日志
filter.setMergeSql(true); //合并慢日志
return filter;
}
}
3,在house-dao->src->resources目录下新建一个mybatis文件夹,文件夹下创建mybatis-config.xml配置文件,再建立一个mapper文件夹,用于存放映射文件
mybatis配置文件mybatis-config.xml代码如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<!--配置关闭缓存-->
<setting name="cacheEnabled" value="false"/>
<!--表字段下划线映射成驼峰-->
<setting name="mapUnderscoreToCamelCase" value="true"/>
<setting name="useGeneratedKeys" value="true"/>
<setting name="defaultExecutorType" value="REUSE"/>
<!--事物超时时间-->
<setting name="defaultStatementTimeout" value="600"/>
</settings>
<!--使用别名-->
<typeAliases>
<package name="com.smart.house.model"/>
</typeAliases>
</configuration>
4,在house-web->resources目录下的application.properties属性文件中添加扫描映射文件与mybatis配置文件的路径,再配置Druid连接池数据源,代码如下:
#配置mybatis配置文件
mybatis.config-location=classpath:/mybatis/mybatis-config.xml
#配置mapper映射文件
mybatis.mapper-locations=classpath:/mapper/*.xml
##配置druid连接池
#spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#spring.datasource.url=jdbc:mysql://localhost:3306/houses?characterEncoding=UTF-8&serverTimezone=UTC
#spring.datasource.username=root
#spring.datasource.password=281634
#最大连接数
spring.datasource.druid.max-active=30
#最小连接数
spring.datasource.druid.min-idle=5
#获取连接的最大等待时间
spring.datasource.druid.max-wait=10000
#用来检测连接是否有效的sql 必须是一个查询语句
spring.datasource.druid.validation-query=select 'x'
#空闲连接检查时间间隔
spring.datasource.druid.time-between-eviction-runs-millis=60000
#空闲连接的最小空闲时间,超过该值释放连接
spring.datasource.druid.min-evictable-idle-time-millis=300000