其他分享
首页 > 其他分享> > 在springboot中使用jdbcTemplate(7)-hivejdbc

在springboot中使用jdbcTemplate(7)-hivejdbc

作者:互联网

在springboot中使用jdbcTemplate

在springboot中使用jdbcTemplate(2)-多数据源

在springboot中使用jdbcTemplate(3)

在springboot中使用jdbcTemplate(4)

在springboot中使用jdbcTemplate(5)

在springboot中使用jdbcTemplate(6)

大家都在知道,Java原生的jdbc有很多冗余代码,spring-jdbc在此原生的jdbc基础上进行了包装,包装成了JdbcTemplate.

以往,我们都是用JdbcTemplate连接关系型数据库,那hive可以用JdbcTemplate吗?

答案是肯定的!

首先application.properties定义连接四要素

#hive库
spring.datasource.hive.username=
spring.datasource.hive.password=
spring.datasource.hive.driverClassName=org.apache.hive.jdbc.HiveDriver
spring.datasource.hive.url=jdbc:hive2://host:10000/default?useUnicode=true&characterEncoding=utf8&useSSL=false

在pom文件加入相关的驱动jar包

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.hive</groupId>
            <artifactId>hive-jdbc</artifactId>
            <version>2.1.0</version>
        </dependency>

创建HiveJdbcTemplate bean

@Configuration
public class HiveConfig {
    @Value("${spring.datasource.hive.url}")
    String url;
    @Value("${spring.datasource.hive.username}")
    String username;
    @Value("${spring.datasource.hive.password}")
    String password;
    @Value("${spring.datasource.hive.driverClassName}")
    String driverClassName;

    @Bean(name = "hiveDataSource")
    @Qualifier(value = "hiveDataSource")
    public DataSource createDataSource() {
        return DataSourceBuilder.create().type(HikariDataSource.class)
                .driverClassName(driverClassName)
                .url(url)
                .username(username)
                .password(password)
                .build();
    }


    @Bean(name = "hiveJdbcTemplate")
    public JdbcTemplate jdbcTemplate(@Qualifier("hiveDataSource") DataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }
}

好了,大功告成。

标签:jdbc,springboot,spring,hive,datasource,jdbcTemplate,hivejdbc
来源: https://www.cnblogs.com/wangbin2188/p/16393127.html