mybatis datasource种类

本文介绍了MyBatis框架中常用的三种数据源(Pooled、Unpooled和JNDI),重点比较了Hikari(性能优秀)、Druid(兼顾性能和监控)和C3P0(性能较好且常见)在开发场景中的应用。
摘要由CSDN通过智能技术生成

mybatis 内置了三种数据源,分别是Pooled,Unpooled和JNDI,其中Pooled数据源是具有连接池的。

开发场景下,通常使用以下几种数据源

Hikari:性能快

Druid:兼顾了性能和监控,综合

C3P0:性能稍好,常用。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mybatis dynamic datasource 提供了负载平衡的解决方案。通过使用 dynamic-datasource-spring-boot-starter,你可以轻松地集成多个数据源,并实现负载均衡。 在 dynamic-datasource 中,你可以配置多个数据源,并将它们分组。每个数据源都有一个权重值,用于控制负载均衡的分配。当你执行数据库操作时,dynamic-datasource 会根据权重值选择一个数据源来执行操作,从而实现负载均衡。 以下是一个使用 dynamic-datasource 实现负载平衡的示例: ```java @Configuration public class DataSourceConfig { @Bean @ConfigurationProperties(prefix = "spring.datasource.master") public DataSource masterDataSource() { return DataSourceBuilder.create().build(); } @Bean @ConfigurationProperties(prefix = "spring.datasource.slave") public DataSource slaveDataSource() { return DataSourceBuilder.create().build(); } @Bean public DynamicDataSource dynamicDataSource(DataSource masterDataSource, DataSource slaveDataSource) { Map<Object, Object> targetDataSources = new HashMap<>(); targetDataSources.put("master", masterDataSource); targetDataSources.put("slave", slaveDataSource); DynamicDataSource dynamicDataSource = new DynamicDataSource(); dynamicDataSource.setTargetDataSources(targetDataSources); dynamicDataSource.setDefaultTargetDataSource(masterDataSource); return dynamicDataSource; } @Bean public SqlSessionFactory sqlSessionFactory(DynamicDataSource dynamicDataSource) throws Exception { SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean(); sessionFactory.setDataSource(dynamicDataSource); return sessionFactory.getObject(); } @Bean public PlatformTransactionManager transactionManager(DynamicDataSource dynamicDataSource) { return new DataSourceTransactionManager(dynamicDataSource); } } ``` 在上述示例中,我们配置了两个数据源:master 和 slave。然后,我们使用 DynamicDataSource 将这两个数据源组合起来,并设置 master 数据源为默认数据源。这样,当执行数据库操作时,dynamic-datasource 会根据权重值选择一个数据源来执行操作。 请注意,上述示例中的配置是基于 Spring Boot 的,你需要根据自己的项目配置进行相应的调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值