springboot+Druid+mybatis整合
一、添加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整合相关推荐
- springboot 和 mybatis整合:参数查询和动态sql
springboot 和 mybatis整合: mapper定义的是数据库的操作方法: @Mapper public interface UserMapper {} 单参数的处理: @Select(& ...
- Eclipse中实现SpringBoot与Mybatis整合(图文教程带源码)
场景 数据库中数据 实现效果 项目结构 前面参照 Eclipse中新建SpringBoot项目并输出HelloWorld https://blog.csdn.net/BADAO_LIUMANG_QIZ ...
- Day14(springboot与mybatis整合、mybatis自动代码生成、swagger、thymeleaf、lombok环境配置、mybatisPlus介绍(自动代码生成))
srpingboot和mybatis整合 springbootSSM项目下载地址 链接:https://pan.baidu.com/s/11fwh1C7ZOg3jQVlXl2DJjQ 提取码:83yt ...
- springboot+druid+mybatis+mysql+多数据源
一.项目依赖 pom.xml中添加atomikos的springboot相关依赖: <!--分布式事务--><dependency><groupId>org.spr ...
- springboot与mybatis整合
重点: 0.回顾 1.修改SpringBoot的数据源Druid 2.配置Mybatis 3.配置PageHelper分页插件 重点解析: 0.回顾: thymeleaf 基于html开发 导入pom ...
- Spring boot Mybatis 整合(注解版)
之前写过一篇关于springboot 与 mybatis整合的博文,使用了一段时间spring-data-jpa,发现那种方式真的是太爽了,mybatis的xml的映射配置总觉得有点麻烦.接口定义和映 ...
- 保姆级Spring+Mybatis整合的简单增删改查功能实现
Springboot和Mybatis整合实现增删改查等 0.文章中pageHelper相关的操作是分页查询的东西与本文无关 1.首先创建一个Springboot的项目 1.1Java一般选择的是8,看 ...
- SpringBoot入门篇--整合mybatis+generator自动生成代码+druid连接池+PageHelper分页插件
我们这一一篇博客讲的是如何整合Springboot和Mybatis框架,然后使用generator自动生成mapper,pojo等文件.然后再使用阿里巴巴提供的开源连接池druid,这个连接池的好处我 ...
- SpringBoot 实战 (九) | 整合 Mybatis
微信公众号:一个优秀的废人 如有问题或建议,请后台留言,我会尽力解决你的问题. 前言 如题,今天介绍 SpringBoot 与 Mybatis 的整合以及 Mybatis 的使用,本文通过注解的形式实 ...
最新文章
- hooks 使用dva_Taro3 中使用dva
- chapter_2 索引优先队列
- 代码:android崩溃日志收集和处理
- .net core 2.0学习记录(一):搭建一个.Net Core网站项目
- centos的mysql怎么删用户_linux/centos给Mysql创建用户、授权、查看、删除、修改密码、撤...
- 生活:小孩的世界很简单
- 修改weblogic部署的应用名称
- C#中通过Selenium定位a标签的问题
- 无意中发现的MSDN软件下载网站
- 爬取豆瓣短评之《后来的我们》-------后来的我们没有故事
- 制作字幕.html教程,手机拍的视频如何加字幕 字幕制作软件使用教程
- win10虚拟机dhcp服务器设置,win10 配置dhcp服务器设置
- 域名服务商自曝行业内幕:用户面临层层陷阱
- java 基础知识(不定期更新)
- 20W了,从一颗种子开始 | 送书
- python文本去重复_python多个文本组合后去除重复项
- 晋城联通dns服务器位置,山西联通dns服务器地址
- python画箭头_箭头指南 | Matplotlib 中文
- QT设置背景图片的Qss实现方式
- 关于文件格式识别转换