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);
- }
Tämä koodi on esimerkki Spring Boot- ja Druid-yhteyspoolin käyttämisestä Hive-tietokantayhteyden määrittämiseen.Se näyttää kuinka kulkea@ConfigurationProperties
Merkinnät konfigurointiominaisuuksien sitomisen yksinkertaistamiseksi ja Springin käyttämiseksi@Bean
Luoda ja hallinnoida merkintöjäDataSource
jaJdbcTemplate
Papu. Seuraavassa on tämän koodin yksityiskohtainen opetusselitys:
@ConfigurationProperties(prefix = "hive")
application.properties
taiapplication.yml
) etuliitteessä onhive
Ominaisuudet ovat sidottu nykyiseen luokkaan (HiveDruidConfig
) kenttä. Tämä tekee tietokantayhteyksien ja muiden niihin liittyvien parametrien määrittämisestä erittäin kätevää ja keskitettyä.application.properties
Onhive.url=jdbc:hive2://...
,Niinurl
Kentälle määritetään automaattisesti arvo.@Data
dataSource()
menetelmä@Bean
Huomautus, joka osoittaa, että se palauttaa papun, jota kevätsäiliö hallinnoi.Tässä esimerkissä se luo ja määrittää aDruidDataSource
Esimerkki, tämä on Druid-yhteyspoolin toteutus.@ConfigurationProperties
Hanki se asetustiedostosta.DruidDataSource
instanssi, Spring-säilö rekisteröi sen instanssiksi nimeltähiveDruidDataSource
Papu.hiveDruidTemplate()
menetelmä@Bean
huomautus, joka luo aJdbcTemplate
Esim, tätä ilmentymää käytetään yksinkertaistamaan tietokantatoimintoja.DataSource
tyyppiparametrit, hyväksytty@Qualifier("hiveDruidDataSource")
Annotaatio määritetään nimellähiveDruidDataSource
DataSource Bean.JdbcTemplate
instanssi, Spring-säilö rekisteröi sen instanssiksi nimeltähiveDruidTemplate
Papu.Tämä koodi näyttää kuinka ohitetaan@ConfigurationProperties
ja@Bean
Merkinnät tietokantayhteyksien määrittämiseen ja hallintaan. Käyttämällä Druid-yhteyspoolia tietokantatoimintojen suorituskykyä ja vakautta voidaan edelleen parantaa.Samalla läpiJdbcTemplate
, kehittäjät voivat suorittaa tietokantatoimintoja kätevämmin kirjoittamatta suurta määrää JDBC-koodia.