spring boot 创建maven多模块项目(三)

  • 配置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

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值