前边有简单介绍过关于jdbc驱动开发的说明,以下是一些简单的整理,提供关于快速开发jdbc的一些参考资料
驱动开发的一些说明
- 需要实现的接口
以下的接口是需要实现的,除过Driver 接口一般都会创建一个抽象类进行扩展
Statement
ResultSetMetaData
ResultSet
PreparedStatement
DatabaseMetaData
Connection
Driver
- sql 支持
这个是一个比较复杂的,也是最有意思的,比如我们希望基于sql 语言的模式操作rest api 或者操作文件内容,操作mongo
我们就需要包含一个sql 解析器,可选的软件包有https://github.com/JSQLParser/JSqlParse,https://calcite.apache.org/
一些参考
drill 就是基于calcite进行的jdbc扩展开发,presto 因为自身就支持sql 操作,基于okhttp进行了包装,apache Pinot 因为也支持
类sql,基于自己的java sdk 进行的包装
参考资料
https://github.com/javacc/javacc
https://github.com/JSQLParser/JSqlParser
https://calcite.apache.org/
https://github.com/prestosql/presto/tree/master/presto-jdbc
https://github.com/apache/incubator-pinot/tree/master/pinot-clients/pinot-jdbc-client
https://github.com/apache/drill/tree/master/exec/jdbc
https://github.com/apache/calcite