2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
- @ConfigurationProperties(prefix = "hive")
- @Data
- public class HiveDruidConfig {
-
- private String url;
- private String user;
- private String password;
- private String driverClassName;
- private int initialSize;
- private int minIdle;
- private int maxActive;
- private int maxWait;
- private int timeBetweenEvictionRunsMillis;
- private int minEvictableIdleTimeMillis;
- private String validationQuery;
- private boolean testWhileIdle;
- private boolean testOnBorrow;
- private boolean testOnReturn;
- private boolean poolPreparedStatements;
- private int maxPoolPreparedStatementPerConnectionSize;
-
- @Bean(name = "hiveDruidDataSource")
- @Qualifier("hiveDruidDataSource")
- public DataSource dataSource() {
- DruidDataSource datasource = new DruidDataSource();
- datasource.setUrl(url);
- datasource.setUsername(user);
- datasource.setPassword(password);
- datasource.setDriverClassName(driverClassName);
-
- // pool 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);
- return datasource;
- }
-
- @Bean(name = "hiveDruidTemplate")
- public JdbcTemplate hiveDruidTemplate(@Qualifier("hiveDruidDataSource") DataSource dataSource) {
- return new JdbcTemplate(dataSource);
- }
Ce code est un exemple d'utilisation du pool de connexions Spring Boot et Druid pour configurer une connexion à la base de données Hive.Il montre comment réussir@ConfigurationProperties
Annotations pour simplifier la liaison des propriétés de configuration et comment utiliser Spring@Bean
Annotations à créer et à gérerDataSource
etJdbcTemplate
Haricot. Ce qui suit est une explication pédagogique détaillée de ce code :
@ConfigurationProperties(prefix = "hive")
application.properties
ouapplication.yml
) dans le préfixe esthive
Les propriétés de sont liées à la classe actuelle (HiveDruidConfig
) champ. Cela rend la configuration des connexions à la base de données et d’autres paramètres associés très pratique et centralisée.application.properties
Il y ahive.url=jdbc:hive2://...
,Doncurl
Le champ se verra automatiquement attribuer une valeur.@Data
dataSource()
méthode@Bean
Annotation, indiquant qu'il renverra un Bean, qui sera géré par le conteneur Spring.Dans cet exemple, il crée et configure unDruidDataSource
Exemple, il s'agit de l'implémentation du pool de connexions Druid.@ConfigurationProperties
Récupérez-le à partir du fichier de configuration.DruidDataSource
instance, le conteneur Spring l'enregistrera en tant qu'instance nomméehiveDruidDataSource
Haricot.hiveDruidTemplate()
méthode@Bean
annotation, qui crée unJdbcTemplate
Instance, cette instance est utilisée pour simplifier les opérations de base de données.DataSource
paramètres de type, transmis@Qualifier("hiveDruidDataSource")
L'annotation est spécifiée à l'aide du nomhiveDruidDataSource
Bean DataSource.JdbcTemplate
instance, le conteneur Spring l'enregistrera en tant qu'instance nomméehiveDruidTemplate
Haricot.Ce code montre comment passer@ConfigurationProperties
et@Bean
Annotations pour configurer et gérer les connexions à la base de données. En utilisant le pool de connexions Druid, les performances et la stabilité des opérations de base de données peuvent être encore améliorées.En même temps, à traversJdbcTemplate
, les développeurs peuvent effectuer des opérations de base de données plus facilement sans écrire une grande quantité de code JDBC.