springboot 整和 presto


參考原文:https://blog.csdn.net/Sunhighlight/article/details/89044374

依賴:

 
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.16.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>


<dependency>

<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
   <dependency>
      <groupId>com.facebook.presto</groupId>
      <artifactId>presto-jdbc</artifactId>
      <version>0.203</version>
    </dependency>

配置application.yml文件

 datasource:
    presto:
      name: presto
      type: org.apache.tomcat.jdbc.pool.DataSource
      driver-class-name: com.facebook.presto.jdbc.PrestoDriver
      url: jdbc:presto://192.168.18.129:8881/test/sea
      username: root

注意:
(1)本項目其他數據源使用的是阿里巴巴druid數據庫連接池,但是該連接池不支持PrestoDB,如果使用會爆出:java.lang.IllegalStateException: dbType not support錯誤,故我們用org.apache.tomcat.jdbc.pool.DataSource連接池

3.3創建數據源配置類

@Configuration
public class GlobalDataSourceConfiguration {

  private static Logger LOG = LoggerFactory.getLogger(GlobalDataSourceConfiguration.class);

  @Bean(name = "prestoDataSource")
  @ConfigurationProperties(prefix = "datasource.presto")
  public DataSource prestoDataSource() {
    LOG.info("-------------------- presto init ---------------------");
    return DataSourceBuilder.create().build();
  }

  @Bean(name = "prestoTemplate")
  public JdbcTemplate prestoJdbcTemplate(@Qualifier("prestoDataSource") DataSource dataSource) {
    return new JdbcTemplate(dataSource);
  }

}

 

4.3使用prestoDB直接執行SQL

   @Autowired
   @Qualifier("prestoTemplate")
    private JdbcTemplate prestoTemplate;

   List<Map<String, Object>> result =  prestoTemplate.queryForList("sql");

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM