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
@Bean
publicJdbcTemplate jdbcTemplate2(@Qualifier("dataSource2")DataSource dataSource2){
JdbcTemplate oracle =newJdbcTemplate();
oracle.setDataSource(dataSource2);
return oracle;
}
c.查询使用
@RestController
publicclassDrillController{
@Autowired
privateJdbcTemplate jdbcTemplate2;
@RequestMapping(value="/drill",method=RequestMethod.GET)
publicObject getUser3(){
return jdbcTemplate2.queryForList("select * from dfs.`/root/drill/drill/sample-data/user.json`");
}
}
3. 查询结果

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2015-05-31 css 动画类库Animate.css