Mi informacion de contacto
Correo[email protected]
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);
- }
Este código es un ejemplo del uso del grupo de conexiones Spring Boot y Druid para configurar una conexión de base de datos de Hive.Muestra como pasar@ConfigurationProperties
Anotaciones para simplificar la vinculación de propiedades de configuración y cómo usar Spring@Bean
Anotaciones para crear y gestionarDataSource
yJdbcTemplate
Frijol. La siguiente es una explicación didáctica detallada de este código:
@ConfigurationProperties(prefix = "hive")
application.properties
oapplication.yml
) en el prefijo eshive
Las propiedades de están vinculadas a la clase actual (HiveDruidConfig
) campo. Esto hace que la configuración de conexiones de bases de datos y otros parámetros relacionados sea muy conveniente y centralizada.application.properties
Hayhive.url=jdbc:hive2://...
,Entoncesurl
Al campo se le asignará automáticamente un valor.@Data
dataSource()
método@Bean
Anotación que indica que devolverá un Bean, que será administrado por el contenedor Spring.En este ejemplo, crea y configura unDruidDataSource
Ejemplo, esta es la implementación del grupo de conexiones Druid.@ConfigurationProperties
Consíguelo del archivo de configuración.DruidDataSource
instancia, el contenedor Spring la registrará como una instancia llamadahiveDruidDataSource
Frijol.hiveDruidTemplate()
método@Bean
anotación, que crea unaJdbcTemplate
Instancia, esta instancia se utiliza para simplificar las operaciones de la base de datos.DataSource
parámetros de tipo, pasados@Qualifier("hiveDruidDataSource")
La anotación se especifica usando el nombre.hiveDruidDataSource
Frijol de fuente de datos.JdbcTemplate
instancia, el contenedor Spring la registrará como una instancia llamadahiveDruidTemplate
Frijol.Este código muestra cómo pasar@ConfigurationProperties
y@Bean
Anotaciones para configurar y administrar conexiones de bases de datos. Al utilizar el grupo de conexiones Druid, se puede mejorar aún más el rendimiento y la estabilidad de las operaciones de la base de datos.Al mismo tiempo, a través deJdbcTemplate
, los desarrolladores pueden realizar operaciones de bases de datos de manera más conveniente sin escribir una gran cantidad de código JDBC.