1.配置pom
<!-- druid 数据库连接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.12</version>
<exclusions>
<exclusion>
<groupId>com.alibaba</groupId>
<artifactId>jconsole</artifactId>
</exclusion>
<exclusion>
<groupId>com.alibaba</groupId>
<artifactId>tools</artifactId>
</exclusion>
</exclusions>
</dependency>
2.配置 application.properties
#druid连接池
spring.datasource.type: com.alibaba.druid.pool.DruidDataSource
#最大活跃数
spring.datasource.maxActive: 20
#初始化数量
spring.datasource.initialSize: 1
#最大连接等待超时时间
spring.datasource.maxWait: 60000
#打开PSCache,并且指定每个连接PSCache的大小
spring.datasource.poolPreparedStatements: true
spring.datasource.maxPoolPreparedStatementPerConnectionSize: 20
#通过connectionProperties属性来打开mergeSql功能;慢SQL记录
#connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
spring.datasource.minIdle: 1
spring.datasource.timeBetweenEvictionRunsMillis: 60000
spring.datasource.minEvictableIdleTimeMillis: 300000
spring.datasource.validationQuery: select 1 from dual
spring.datasource.testWhileIdle: true
spring.datasource.testOnBorrow: false
spring.datasource.testOnReturn: false
#配置监控统计拦截的filters,去掉后监控界面sql将无法统计,'wall'用于防火墙
filters: stat, wall, log4j
3.Config配置类
/**
* 说明:第一数据源配置
* 作者:FH
* from:fhadmin.cn
*/
@Configuration
@MapperScan(basePackages = MasterDataSourceConfig.PACKAGE, sqlSessionFactoryRef = "masterSqlSessionFactory") //扫描 Mapper 接口并容器管理
public class MasterDataSourceConfig {
static final String PACKAGE = "org.fh.mapper.dsno1"; //master 目录
static final String MAPPER_LOCATION = "classpath:mybatis/dsno1/*/*.xml"; //扫描的 xml 目录
static final String CONFIG_LOCATION = "classpath:mybatis/dsno1/mybatis-config.xml"; //自定义的mybatis config 文件位置
static final String TYPE_ALIASES_PACKAGE = "org.fh.entity"; //扫描的 实体类 目录
@Value("${datasource.no1.url}")
private String url;
@Value("${datasource.no1.username}")
private String user;
@Value("${datasource.no1.password}")
private String password;
@Value("${datasource.no1.driver-class-name}")
private String driverClass;
@Bean(name = "masterDataSource")
@Primary
public DataSource masterDataSource() {
DruidDataSource dataSource = new DruidDataSource();
dataSource.setDriverClassName(driverClass);
dataSource.setUrl(url);
dataSource.setUsername(user);
dataSource.setPassword(password);
return dataSource;
}
@Bean(name = "masterTransactionManager")
@Primary
public DataSourceTransactionManager masterTransactionManager() {
return new DataSourceTransactionManager(masterDataSource());
}
@Bean(name = "masterSqlSessionFactory")
@Primary
public SqlSessionFactory masterSqlSessionFactory(@Qualifier("masterDataSource") DataSource masterDataSource)throws Exception {
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(masterDataSource);
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(MasterDataSourceConfig.MAPPER_LOCATION));
sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(MasterDataSourceConfig.CONFIG_LOCATION));
sessionFactory.setTypeAliasesPackage(MasterDataSourceConfig.TYPE_ALIASES_PACKAGE);
return sessionFactory.getObject();
}
}
相关推荐
Druid是一个高效、强大且灵活的数据库连接池组件,它由阿里巴巴开源并广泛应用于各种Java Web项目中。...通过阅读提供的资源“2019-6-27_Druid数据库连接池及内置监控的配置和使用”,您可以获得更详尽的实践指导。
`Spring Cloud`框架则提供了完整的微服务解决方案,而`Druid`是一个强大的数据库连接池,`MybatisPlus`是`Mybatis`的扩展工具,简化了对数据库的操作。接下来,我们将深入探讨这些技术及其整合。 **Spring Cloud ...
spring cloud + vue + oAuth2.0全家桶实战,...数据库连接池:Alibaba Druid 日志管理:Logback 前端框架:Vue全家桶以及相关组件 三方服务: 邮件服务、阿里云短信服务、七牛云文件服务、钉钉机器人服务、高德地图API
功能点: 模拟商城,完整的购物流程、后端运营平台对前端业务的支撑,和对项目的运维,有各项的监控指标和运维指标。 技术点: 核心技术为springcloud+vue两个... 数据库连接池:Alibaba Druid 日志管理:Logback 前
本项目将这两者进行了整合,同时引入了MyBatis作为持久层框架,Druid作为数据库连接池,以及Generator进行代码生成,以提高开发效率和系统的可维护性。 首先,Spring Cloud Dubbo整合的关键在于Spring Cloud ...
3. **Druid数据库连接池**:Druid是阿里巴巴开源的数据库连接池,它具有优秀的性能和丰富的监控功能。Druid提供了一系列的扩展点,如StatFilter(统计过滤器)、WallFilter(防火墙过滤器)等,用于监控数据库的运行...
- **Druid**:高性能数据库连接池。 - **Swagger**:API文档工具。 - **Docker**:容器化技术,便于部署和隔离服务。 这些技术点涵盖了从前端展示到后端服务,从数据存储到服务治理的各个方面,为构建健壮的企业...
spring-cloud微服务框架...mybatis, pageHelper (分页), druid (连接池) redis(序列化采用的是jdk默认序列化方案) slf4j & logback(及其配置) 国际化配置 全局错误信息catch 线程池 服务健康检查, 服务全链路健康检查
而“连接池”则指的是数据库连接池,如HikariCP、Druid或C3P0等,它们可以有效地管理数据库连接,提高系统的并发性能和资源利用率。 最后,"注册中心(eureka)"是SpringCloud生态中的重要组件,用于服务发现和服务...
全链路traceId追踪 velocity 前端模板 mybatis, pageHelper (分页), druid (连接池) redis(序列化采用的是jdk默认序列化方案) slf4j & logback(及其配置) 国际化配置 全局错误信息catch 线程池 服务健康检查, 服务...
三、Druid数据库连接池 Druid是阿里巴巴开源的一个数据库连接池实现,它包含了一个强大的监控功能,能够提供包括SQL解析、执行计划可视化的全方位数据库运行状态监控。Druid在性能、功能和稳定性方面都有出色的表现...
- 数据库连接池:Alibaba Druid - 数据库缓存:Redis Sentinel - 消息中间件:RocketMQ - 接口文档引擎:Swagger2 RESTful 风格 API 文档生成 - 全文检索引擎:ElasticSearch - 分布式链路追踪:SkyWalking - 分布式...
1. 配置数据库连接池,如HikariCP或Druid,以优化数据库连接管理。 2. 考虑异常处理,确保在任务执行过程中遇到错误时能及时通知并处理。 3. 如果定时任务涉及到大量数据操作,可能需要考虑分批处理,避免一次性加载...
基于springcloud+vue+oAuth2.0全家桶实战... 数据库连接池:Alibaba Druid 日志管理:Logback 前端框架:Vue全家桶以及相关组件 三方服务: 邮件服务、阿里云短信服务、七牛云文件服务、钉钉机器人服务、高德地图API
- **Druid**:数据库连接池 - **RabbitMQ**:消息队列 - **LogStash**:日志收集工具 ### 数据库 - **MySQL**:关系型数据库 ### 前端 - **Vue**:前端框架 - **Element**:UI组件库 ### 服务器 - **CentOS 7**:...
该配置文件中指定了服务端口、MyBatis 配置、数据库连接池参数以及 Eureka 服务发现客户端配置等关键信息,为微服务应用提供了基础支撑。 #### 数据访问层实现 通过提供的代码片段,我们可以看到一个简单的 DAO ...
本项目将介绍如何在SpringBoot项目中结合Maven构建一个支持多数据源的系统,特别是如何处理MySQL和SQLServer两种不同的数据库类型,并使用Druid作为数据源连接池。 首先,我们需要理解“多数据源”这一概念。多数据...
-- 连接池 --> <groupId>com.alibaba</groupId> <artifactId>druid ${druid.version} ``` 2. **子模块开发** 在父项目的基础上,可以根据需要添加多个子模块,每个子模块负责不同的功能。例如,...
本文使用Druid的连接池,然后配置Druid的相关属性,完成对Spring web工程的JDBC监控。 其实,我采用Druid替换其它连接池,最关键的一个理由是Druid有对SQL执行的监控统计功能。 druid 实现 SQL、URI 等监控
基于SpringCloud+Oauth2+MyBatis+Elasticsearch+Docker+Kubernetes的商城系统项目源码+数据 ...数据库连接池: Druid 定时任务:xxl-job 对象存储: OSS、MINIO 全局事务管理框架:Seata 应用容器引擎: Docker 可视化D