技術共有

Spring Boot Vue補完システム解説7

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

 

データ ウェアハウス HIVE の実践

  1. @ConfigurationProperties(prefix = "hive")
  2. @Data
  3. public class HiveDruidConfig {
  4. private String url;
  5. private String user;
  6. private String password;
  7. private String driverClassName;
  8. private int initialSize;
  9. private int minIdle;
  10. private int maxActive;
  11. private int maxWait;
  12. private int timeBetweenEvictionRunsMillis;
  13. private int minEvictableIdleTimeMillis;
  14. private String validationQuery;
  15. private boolean testWhileIdle;
  16. private boolean testOnBorrow;
  17. private boolean testOnReturn;
  18. private boolean poolPreparedStatements;
  19. private int maxPoolPreparedStatementPerConnectionSize;
  20. @Bean(name = "hiveDruidDataSource")
  21. @Qualifier("hiveDruidDataSource")
  22. public DataSource dataSource() {
  23. DruidDataSource datasource = new DruidDataSource();
  24. datasource.setUrl(url);
  25. datasource.setUsername(user);
  26. datasource.setPassword(password);
  27. datasource.setDriverClassName(driverClassName);
  28. // pool configuration
  29. datasource.setInitialSize(initialSize);
  30. datasource.setMinIdle(minIdle);
  31. datasource.setMaxActive(maxActive);
  32. datasource.setMaxWait(maxWait);
  33. datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
  34. datasource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);
  35. datasource.setValidationQuery(validationQuery);
  36. datasource.setTestWhileIdle(testWhileIdle);
  37. datasource.setTestOnBorrow(testOnBorrow);
  38. datasource.setTestOnReturn(testOnReturn);
  39. datasource.setPoolPreparedStatements(poolPreparedStatements);
  40. datasource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);
  41. return datasource;
  42. }
  43. @Bean(name = "hiveDruidTemplate")
  44. public JdbcTemplate hiveDruidTemplate(@Qualifier("hiveDruidDataSource") DataSource dataSource) {
  45. return new JdbcTemplate(dataSource);
  46. }

このコードは、Spring Boot と Druid 接続プールを使用して Hive データベース接続を構成する例です。通過方法を示しています@ConfigurationProperties構成プロパティのバインドを簡素化するためのアノテーションと Spring の使用方法@Bean作成および管理する注釈DataSourceそしてJdbcTemplate豆。以下は、このコードの詳しい説明です。

1. @ConfigurationProperties(prefix = "hive")

  • 効果: このアノテーションは、構成ファイル (application.propertiesまたはapplication.yml) プレフィックスはhiveのプロパティは現在のクラスにバインドされています (HiveDruidConfig ) 分野。これにより、データベース接続やその他の関連パラメーターの構成が非常に便利になり、集中化されます。
  • : あなたがいる場合application.propertiesがあるhive.url=jdbc:hive2://...、それでurlフィールドには自動的に値が割り当てられます。

2. @Data

  • 効果 : このアノテーションは、クラスのフィールドの getter、setter、equals、hashCode、および toString メソッドを自動的に生成する Lombok ライブラリから取得されます。これにより定型コードが減り、クラスがよりクリーンになります。

3. フィールドの定義

  • クラスには複数のプライベート フィールドが定義されており、Hive データベース接続と Druid 接続プールの構成パラメーターに対応します。

4. dataSource()方法

  • 効果: この方法では、@Bean Spring コンテナによって管理される Bean を返すことを示すアノテーション。この例では、DruidDataSource例として、これは Druid 接続プールの実装です。
  • 構成: DruidDataSource のさまざまなプロパティは、メソッド内の setter メソッドを通じて設定され、これらのプロパティはクラス フィールドの値から取得され、これらの値が渡されます。@ConfigurationProperties設定ファイルから取得します。
  • 戻り値:メソッドは設定された値を返します。DruidDataSourceインスタンスの場合、Spring コンテナはそれを という名前のインスタンスとして登録します。hiveDruidDataSource豆。

5. hiveDruidTemplate()方法

  • 効果:この方法も使われています@Beanアノテーション。JdbcTemplateインスタンス。このインスタンスはデータベース操作を簡素化するために使用されます。
  • パラメータ: メソッドはDataSource渡される型パラメータ@Qualifier("hiveDruidDataSource")注釈は名前を使用して指定されます。hiveDruidDataSourceデータソース Bean。
  • 戻り値:メソッドは設定された値を返します。JdbcTemplateインスタンスの場合、Spring コンテナはそれを という名前のインスタンスとして登録します。hiveDruidTemplate豆。

要約する

このコードは渡す方法を示しています@ConfigurationPropertiesそして@Beanデータベース接続を構成および管理するための注釈。 Druid 接続プールを使用することで、データベース操作のパフォーマンスと安定性をさらに向上させることができます。同時に、それを通して、JdbcTemplateを使用すると、開発者は大量の JDBC コードを記述することなく、データベース操作をより簡単に実行できます。