您的位置:首页 > 汽车 > 时评 > 泉州品牌网站设计定制_装修流程先后顺序_优化营商环境 提升服务效能_教育培训机构网站

泉州品牌网站设计定制_装修流程先后顺序_优化营商环境 提升服务效能_教育培训机构网站

2024/12/24 11:03:51 来源:https://blog.csdn.net/weixin_52449016/article/details/144576376  浏览:    关键词:泉州品牌网站设计定制_装修流程先后顺序_优化营商环境 提升服务效能_教育培训机构网站
泉州品牌网站设计定制_装修流程先后顺序_优化营商环境 提升服务效能_教育培训机构网站

1.搭建一个springboot项目,不会的搜一下,很简单这里不做赘述。

2.首先你搭建的springboot能正常启动之后,pom文件添加如下依赖:

 <dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.8</version> <!-- 选择自己合适的版本,druid连接池依赖,Hikari是springboot自带的不用引入依赖 --></dependency><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><!--Mybatis-plus依赖--><version>3.5.9</version></dependency><dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId> <!-- 多数据源依赖 --><version>3.5.0</version></dependency><!--hive依赖,自行选择版本--><dependency><groupId>org.apache.hive</groupId><artifactId>hive-jdbc</artifactId><version>4.0.1</version><classifier>standalone</classifier><exclusions><exclusion><groupId>org.eclipse.jetty</groupId><artifactId>*</artifactId></exclusion><exclusion><groupId>org.apache.hive</groupId><artifactId>hive-shims</artifactId></exclusion><exclusion><groupId>org.glassfish</groupId><artifactId>javax-el</artifactId></exclusion><!-- 其他可能的排除项 --></exclusions></dependency>

3.编写yaml文件(这里的druid其他自定义参数没配置,可自行查阅资料完善,以下配置能支持一般使用):

spring:datasource:dynamic:primary: mysqlstrict: falsedatasource:mysql:url: jdbc:mysql://你的IP:端口/数据库?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=trueusername: rootpassword: wC62vHcv43!e#hive配置hive:url: 你的urlusername: usernamepassword: passworddriver-class-name: org.apache.hive.jdbc.HiveDriverhikari:      #只是为了让控制台不警告,可选,不影响使用connection-timeout: 30000  # 连接超时时间(毫秒)validation-timeout: 5000   # 验证超时时间(毫秒)

4.到此,配置以及准备完成,编写两个数据源的bean配置类:

mysql配置类:

@Configuration
public class MysqlDataSourceConfig {@Value("${spring.datasource.dynamic.datasource.mysql.url}")private String mysqlUrl;@Value("${spring.datasource.dynamic.datasource.mysql.username}")private String mysqlUsername;@Value("${spring.datasource.dynamic.datasource.mysql.password}")private String mysqlPassword;@Bean(name = "mysqlDataSource")@Primary  // 默认数据源public DataSource mysqlDataSource() {DruidDataSource config = new DruidDataSource(); //换成Hikari连接池只需要将这一行代码改为HikariConfig config = new HikariConfig();config.setUrl(mysqlUrl);config.setUsername(mysqlUsername);config.setPassword(mysqlPassword);return config;}@Bean(name = "mysqlJdbcTemplate")public JdbcTemplate mysqlJdbcTemplate(@Qualifier("mysqlDataSource") DataSource dataSource) {return new JdbcTemplate(dataSource);}
}

hive配置类:

@Configuration
public class HiveDataSourceConfig {@Value("${spring.datasource.dynamic.datasource.hive.url}")private String hiveUrl;@Value("${spring.datasource.dynamic.datasource.hive.username}")private String hiveUsername;@Value("${spring.datasource.dynamic.datasource.hive.password}")private String hivePassword;@Value("${spring.datasource.dynamic.datasource.hive.driver-class-name}")private String hiveDriverClassName;@Bean(name = "hiveDataSource")public DataSource hiveDataSource() {DruidDataSource config = new DruidDataSource();//换成Hikari连接池只需要将这一行代码改为HikariConfig config = new HikariConfig();config.setUrl(hiveUrl);config.setUsername(hiveUsername);config.setPassword(hivePassword);config.setDriverClassName(hiveDriverClassName);return config;}@Bean(name = "hiveJdbcTemplate")public JdbcTemplate hiveJdbcTemplate(@Qualifier("hiveDataSource") DataSource dataSource) {return new JdbcTemplate(dataSource);}
}

5.使用:

至于mysql,正常照mybatisplus的使用,mapper,service调用即可

对于hive:

在需要用到的类注入

@Resource
@Qualifier("hiveJdbcTemplate")
private JdbcTemplate hiveJdbcTemplate;

使用这个template去执行SQL即可:

  public void test(){String query="******"hiveJdbcTemplate.execute(query);}  

那么,简述一下Druid和Hikari的区别吧:

1. 设计目标
  • Druid:由阿里巴巴开发,不仅是一个高性能的数据库连接池,还集成了监控、SQL解析和执行计划分析等功能。它被设计为一个综合性的数据库连接管理和优化工具。
  • HikariCP:由Brett Wooldridge创建,专注于成为最快速、最小化开销的连接池。它的设计理念是简单、高效,只做连接池该做的事情,不做过多的附加功能。
2. 性能
  • Druid:虽然Druid也具有良好的性能表现,但其丰富的特性可能会带来额外的开销。在某些情况下,这些附加功能(如SQL解析、日志记录等)可能会影响性能。
  • HikariCP:以其出色的性能著称,尤其是在高并发环境下,HikariCP通常比其他连接池更快。它通过减少锁争用和其他优化技术来达到这一点。
3. 配置复杂度
  • Druid:提供了大量的配置选项,允许用户根据需要进行详细的调整。这使得它非常适合那些对连接池有特定需求的应用程序,但也可能增加了配置的复杂性。
  • HikariCP:配置相对简单,只有几个关键参数需要设置。对于大多数应用程序来说,默认配置已经足够好,不需要太多的调整。
4. 监控和诊断
  • Druid:内置了强大的监控和统计功能,可以实时查看连接池的状态、SQL执行情况等。这对于调试和性能优化非常有用。
  • HikariCP:没有内置的监控功能,但是可以通过集成外部监控工具(如Micrometer)来实现监控。HikariCP的设计哲学是保持核心功能的简洁性,将监控等功能留给第三方库处理。

至此,搭建完成,有问题的可评论区留言。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com