SpringBoot整合Mybatis使用德鲁伊数据库连接池

  

本文实例为大家分享了SpringBoot整合Mybatis使用德鲁伊数据库连接池的方法,具体内容如下

  

在SpringBoot项目中,增加如下依赖

        & lt; !——春天mybatis祝辞   & lt; dependency>   & lt; groupId> org.mybatis.spring.boot   & lt; artifactId> mybatis-spring-boot-starter   & lt; version> 1.1.1   & lt;/dependency>      & lt; !——mysql——比;   & lt; dependency>   & lt; groupId> mysql   & lt; artifactId> mysql-connector-java   & lt; scope> runtime   & lt;/dependency>      & lt; !——德鲁伊数据库连接池——比;   & lt; dependency>   & lt; groupId> com.alibaba   & lt; artifactId> druid   & lt; version> 1.0.26   & lt;/dependency>      之前      

在资源目录下,创建jdbc.properties配置文件,加入以下配置

        #数据库配置   spring.datasource.url=jdbc: mysql://127.0.0.1:3306/测试# 63;useUnicode=true& characterEncoding=utf8& useSSL=false   spring.datasource.username=admin   spring.datasource.password=admin   spring.datasource.driver-class-name=com.mysql.jdbc.Driver   #连接池配置   #初始化大小,最小,最大   spring.datasource.initialSize=5   spring.datasource.minIdle=5   spring.datasource.maxActive=20   # 配置获取连接等待超时的时间   spring.datasource.maxWait=60000   #配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒   spring.datasource.timeBetweenEvictionRunsMillis=60000   #配置一个连接在池中最小生存的时间,单位是毫秒   spring.datasource.minEvictableIdleTimeMillis=300000   #测试连接是否有效的sql   spring.datasource。validationQuery=选择' x '   #建议配置为真,不影响性能,并且保证安全性   #申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效   spring.datasource.testWhileIdle=true   #申请连接时执行validationQuery检测连接是否有效   spring.datasource.testOnBorrow=false   #归还连接时执行validationQuery检测连接是否有效   spring.datasource.testOnReturn=false   #要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为真实的   spring.datasource.maxPoolPreparedStatementPerConnectionSize=20   #属性类型是字符串,通过别名的方式配置扩展插件,常用的插件有:   #监控统计用的过滤器:统计   #日志用的过滤器:log4j   #防御sql注入的过滤器:墙   spring.datasource.filters=统计,log4j,墙   之前      

创建数据源配置类DataSourceConfig.java,代码如下

  

        包com.liao.mybatis;      进口com.alibaba.druid.pool.DruidDataSource;   进口org.mybatis.spring.annotation.MapperScan;   进口org.slf4j.Logger;   进口org.slf4j.LoggerFactory;   进口org.springframework.beans.factory.annotation.Autowired;   进口org.springframework.beans.factory.annotation.Value;   进口org.springframework.context.annotation.Bean;   进口org.springframework.context.annotation.Configuration;   进口org.springframework.context.annotation.PropertySource;   进口org.springframework.stereotype.Component;      进口javax.sql.DataSource;   进口java.sql.SQLException;/* *   *数据源   *   * @author hongyangliao   * @ClassName: DataSourceConfig   * @Date 18-1-2下午56   */@ configuration   @MapperScan (“com.liao * * .dao。”)   公开课DataSourceConfig {   私有静态最终日志记录器=LoggerFactory.getLogger (DataSourceConfig.class);      @ autowired   私人JdbcConfig JdbcConfig;      @ bean   @Primary//在同样的数据源中,首先使用被标注的数据源   公共数据源的数据源(){   DruidDataSource DruidDataSource=new DruidDataSource ();   druidDataSource.setUrl (jdbcConfig.getUrl ());   druidDataSource.setUsername (jdbcConfig.getUserName ());   druidDataSource.setPassword (jdbcConfig.getPassword ());   druidDataSource.setInitialSize (jdbcConfig.getInitialSize ());   druidDataSource.setMinIdle (jdbcConfig.getMinIdle ());   druidDataSource.setMaxActive (jdbcConfig.getMaxActive ());   druidDataSource.setTimeBetweenEvictionRunsMillis (jdbcConfig.getTimeBetweenEvictionRunsMillis ());   druidDataSource.setMinEvictableIdleTimeMillis (jdbcConfig.getMinEvictableIdleTimeMillis ());   druidDataSource.setValidationQuery (jdbcConfig.getValidationQuery ());   druidDataSource.setTestWhileIdle (jdbcConfig.isTestWhileIdle ());   druidDataSource.setTestOnBorrow (jdbcConfig.isTestOnBorrow ());   druidDataSource.setTestOnReturn (jdbcConfig.isTestOnReturn ());   druidDataSource.setMaxPoolPreparedStatementPerConnectionSize (jdbcConfig.getMaxPoolPreparedStatementPerConnectionSize ());   尝试{   druidDataSource.setFilters (jdbcConfig.getFilters ());   }捕捉(SQLException e) {   如果(logger.isInfoEnabled ()) {   logger.info (e.getMessage (), e);   }   }   返回druidDataSource;   }/* *   * Jdbc配置类   *   * @author hongyangliao   * @ClassName: JdbcConfig   * @Date 18-1-2下午九点   */@PropertySource(值=" https://www.yisu.com/zixun/classpath: jdbc.properties”)   @ component   公共静态类JdbcConfig {/* *   *数据库用户名   */@ value (" $ {spring.datasource.username} ")   私人字符串的用户名;/* *   *驱动名称   */@ value (" $ {spring.datasource.driver-class-name} ")   私人字符串driverClass;/* *   *数据库连接的url   */@ value (" $ {spring.datasource.url} ")   私人字符串url;/* *   *数据库密码   */@ value (" $ {spring.datasource.password} ")   私人密码字符串;/* *   *数据库连接池初始化大小   */@ value (" $ {spring.datasource.initialSize} ")   私人int initialSize;/* *   *数据库连接池最小最小连接数   */@ value (" $ {spring.datasource.minIdle} ")   私人int minIdle;/* *   *数据库连接池最大连接数   */@ value (" $ {spring.datasource.maxActive} ")   私人int maxActive;/* *   *获取连接等待超时的时间   */@ value (" $ {spring.datasource.maxWait} ")   私人长maxWait;/* *   *多久检测一次   */@ value (" $ {spring.datasource.timeBetweenEvictionRunsMillis} ")   私人长timeBetweenEvictionRunsMillis;/* *   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

SpringBoot整合Mybatis使用德鲁伊数据库连接池