一、添加Druid、MySQL连接池、mybatis依赖

 <!--整合Druid-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.11</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>

View Code

二、配置DruidDataSourceConfig

@Configuration
public class DruidDataSourceConfigurer {
@Value("${spring.datasource.url}")
private String dbUrl;
@Value("${spring.datasource.username}")
private String username;
@Value("${spring.datasource.password}")
private String password;
@Value("${spring.datasource.driverClassName}")
private String driverClassName;
@Value("${spring.datasource.initialSize}")
private int initialSize;
@Value("${spring.datasource.minIdle}")
private int minIdle;
@Value("${spring.datasource.maxActive}")
private int maxActive;
@Value("${spring.datasource.maxWait}")
private int maxWait;
@Value("${spring.datasource.timeBetweenEvictionRunsMillis}")
private int timeBetweenEvictionRunsMillis;
@Value("${spring.datasource.minEvictableIdleTimeMillis}")
private int minEvictableIdleTimeMillis;
@Value("${spring.datasource.validationQuery}")
private String validationQuery;
@Value("${spring.datasource.testWhileIdle}")
private boolean testWhileIdle;
@Value("${spring.datasource.testOnBorrow}")
private boolean testOnBorrow;
@Value("${spring.datasource.testOnReturn}")
private boolean testOnReturn;
@Value("${spring.datasource.poolPreparedStatements}")
private boolean poolPreparedStatements;
@Value("${spring.datasource.maxPoolPreparedStatementPerConnectionSize}")
private int maxPoolPreparedStatementPerConnectionSize;
@Value("${spring.datasource.filters}")
private String filters;
@Value("${spring.datasource.connectionProperties}")
private String connectionProperties;
@Value("${spring.datasource.useGlobalDataSourceStat}")
private boolean useGlobalDataSourceStat;
/**
* @Bean 创建一个实例
* @Primary  在同样的DataSource中,首先使用被标注的DataSource
* @return
*/
@Bean
@Primary
public DruidDataSource dataSource(){
DruidDataSource datasource = new DruidDataSource();
datasource.setUrl(this.dbUrl);
datasource.setUsername(username);
datasource.setPassword(password);
datasource.setDriverClassName(driverClassName);
//configuration
datasource.setInitialSize(initialSize);
datasource.setMinIdle(minIdle);
datasource.setMaxActive(maxActive);
datasource.setMaxWait(maxWait);
datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
datasource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);
datasource.setValidationQuery(validationQuery);
datasource.setTestWhileIdle(testWhileIdle);
datasource.setTestOnBorrow(testOnBorrow);
datasource.setTestOnReturn(testOnReturn);
datasource.setPoolPreparedStatements(poolPreparedStatements);
datasource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);
datasource.setUseGlobalDataSourceStat(useGlobalDataSourceStat);
try {
datasource.setFilters(filters);
} catch (SQLException e) {
System.err.println("druid configuration initialization filter: "+ e);
}
datasource.setConnectionProperties(connectionProperties);
return datasource;
}
}

View Code

三、配置DruidStatFilter

@WebFilter(filterName = "druidWebStatFilter",
urlPatterns = "/*",
initParams = {
//定义可以忽略的资源文件
@WebInitParam(name="exclusion",value = "*.js,*gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*")
})
public class DruidStatFilter extends WebStatFilter {
}

View Code

四、application.porperties

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#连接池配置
spring.datasource.url=jdbc:mysql://localhost:3306/cloud01??useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driverClassName=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、oracle配置,如果不配置validationQuery,则下面三项无效
spring.datasource.validationQuery=SELECT 1 FROM DUAL
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
# 打开PSCache,并且指定每个连接上PSCache的大小
spring.datasource.poolPreparedStatements=true
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
spring.datasource.filters=stat,wall,slf4j
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
#合并多个DruidDataSource的监控数据
spring.datasource.useGlobalDataSourceStat=true
#mybatis的配置文件
mybatis.config-location=classpath:/mybatis-config.xml
mybatis.mapper-locations=classpath:/mapper/*.xml

View Code

五、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="true"/>-->
<!--</settings>-->
<typeAliases>
<typeAlias type="com.itwx.druid.model.Dept" alias="Dept"/>
</typeAliases>
</configuration>

View Code

六、主启动类

@SpringBootApplication
//该注解使Servlet生效
@ServletComponentScan
public class SpringbootDruidApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootDruidApplication.class, args);
}
/**使用以下注解方式可以忽略DruidDataSourceConfigurer配置*/
//    @Bean("druidDataSource")
//    @ConfigurationProperties(prefix = "spring.datasource")
//    public DataSource druidDataSource(){
//        return new DruidDataSource();
//    }
}

View Code

git源码地址:https://gitee.com/wx-git/springboot

springboot+Druid+mybatis整合相关推荐

  1. springboot 和 mybatis整合:参数查询和动态sql

    springboot 和 mybatis整合: mapper定义的是数据库的操作方法: @Mapper public interface UserMapper {} 单参数的处理: @Select(& ...

  2. Eclipse中实现SpringBoot与Mybatis整合(图文教程带源码)

    场景 数据库中数据 实现效果 项目结构 前面参照 Eclipse中新建SpringBoot项目并输出HelloWorld https://blog.csdn.net/BADAO_LIUMANG_QIZ ...

  3. Day14(springboot与mybatis整合、mybatis自动代码生成、swagger、thymeleaf、lombok环境配置、mybatisPlus介绍(自动代码生成))

    srpingboot和mybatis整合 springbootSSM项目下载地址 链接:https://pan.baidu.com/s/11fwh1C7ZOg3jQVlXl2DJjQ 提取码:83yt ...

  4. springboot+druid+mybatis+mysql+多数据源

    一.项目依赖 pom.xml中添加atomikos的springboot相关依赖: <!--分布式事务--><dependency><groupId>org.spr ...

  5. springboot与mybatis整合

    重点: 0.回顾 1.修改SpringBoot的数据源Druid 2.配置Mybatis 3.配置PageHelper分页插件 重点解析: 0.回顾: thymeleaf 基于html开发 导入pom ...

  6. Spring boot Mybatis 整合(注解版)

    之前写过一篇关于springboot 与 mybatis整合的博文,使用了一段时间spring-data-jpa,发现那种方式真的是太爽了,mybatis的xml的映射配置总觉得有点麻烦.接口定义和映 ...

  7. 保姆级Spring+Mybatis整合的简单增删改查功能实现

    Springboot和Mybatis整合实现增删改查等 0.文章中pageHelper相关的操作是分页查询的东西与本文无关 1.首先创建一个Springboot的项目 1.1Java一般选择的是8,看 ...

  8. SpringBoot入门篇--整合mybatis+generator自动生成代码+druid连接池+PageHelper分页插件

    我们这一一篇博客讲的是如何整合Springboot和Mybatis框架,然后使用generator自动生成mapper,pojo等文件.然后再使用阿里巴巴提供的开源连接池druid,这个连接池的好处我 ...

  9. SpringBoot 实战 (九) | 整合 Mybatis

    微信公众号:一个优秀的废人 如有问题或建议,请后台留言,我会尽力解决你的问题. 前言 如题,今天介绍 SpringBoot 与 Mybatis 的整合以及 Mybatis 的使用,本文通过注解的形式实 ...

最新文章

  1. hooks 使用dva_Taro3 中使用dva
  2. chapter_2 索引优先队列
  3. 代码:android崩溃日志收集和处理
  4. .net core 2.0学习记录(一):搭建一个.Net Core网站项目
  5. centos的mysql怎么删用户_linux/centos给Mysql创建用户、授权、查看、删除、修改密码、撤...
  6. 生活:小孩的世界很简单
  7. 修改weblogic部署的应用名称
  8. C#中通过Selenium定位a标签的问题
  9. 无意中发现的MSDN软件下载网站
  10. 爬取豆瓣短评之《后来的我们》-------后来的我们没有故事
  11. 制作字幕.html教程,手机拍的视频如何加字幕 字幕制作软件使用教程
  12. win10虚拟机dhcp服务器设置,win10 配置dhcp服务器设置
  13. 域名服务商自曝行业内幕:用户面临层层陷阱
  14. java 基础知识(不定期更新)
  15. 20W了,从一颗种子开始 | 送书
  16. python文本去重复_python多个文本组合后去除重复项
  17. 晋城联通dns服务器位置,山西联通dns服务器地址
  18. python画箭头_箭头指南 | Matplotlib 中文
  19. QT设置背景图片的Qss实现方式
  20. 关于文件格式识别转换

热门文章

  1. Exchange Server 2013多域名证书申请
  2. vocabulary of ERP
  3. Python类和对象的入门级讲解(简单粗暴)
  4. 求Fibonacc数列中大于t(t3)的最小一个数 例 带入1000输出1597
  5. Java面试题--HashMap是什么?
  6. 服务端/web+客户端模式配置
  7. 阿里云提示微擎被挂图片木马详解
  8. mysqldump 导出数据库出错
  9. HashMap、ConcurretnHashMap面试题详解,源码分析
  10. 分布式链路跟踪中的traceid和spanid代表什么?