drill java && spring jdbc 连接使用
原生 jdbc 连接
1. maven 包
<dependency><groupId>org.apache.drill.exec</groupId><artifactId>drill-jdbc-all</artifactId><version>1.10.0</version></dependency>
2. 代码
Class.forName("org.apache.drill.jdbc.Driver");Connection connection =DriverManager.getConnection("jdbc:drill:zk=10.10.5.18:2181/drill/demo");Statement st = connection.createStatement();ResultSet rs = st.executeQuery("select * from dfs.`/root/drill/drill/sample-data/user.json`");while(rs.next()){System.out.println(rs.getString(1));}
3. 查询结果
使用spring boot jdbc
1. spring boot maven
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.apache.drill.exec</groupId><artifactId>drill-jdbc-all</artifactId><version>1.10.0</version></dependency>
2. 代码
a.DataSourceBean定义@Bean(name="dataSource2")publicDataSource dataSource2(){BasicDataSource dataSource =newBasicDataSource();dataSource.setUrl("jdbc:drill:zk=10.10.5.18:2181/drill/demo");dataSource.setDriverClassName("org.apache.drill.jdbc.Driver");dataSource.setInitialSize(2);dataSource.setMaxActive(20);dataSource.setMinIdle(0);dataSource.setPoolPreparedStatements(true);dataSource.setMaxWait(60000);dataSource.setTestOnBorrow(false);dataSource.setTestWhileIdle(true);return dataSource;}b. jdbctempalte@BeanpublicJdbcTemplate jdbcTemplate2(@Qualifier("dataSource2")DataSource dataSource2){JdbcTemplate oracle =newJdbcTemplate();oracle.setDataSource(dataSource2);return oracle;}c.查询使用@RestControllerpublicclassDrillController{@AutowiredprivateJdbcTemplate jdbcTemplate2;@RequestMapping(value="/drill",method=RequestMethod.GET)publicObject getUser3(){return jdbcTemplate2.queryForList("select * from dfs.`/root/drill/drill/sample-data/user.json`");}}
3. 查询结果

浙公网安备 33010602011771号