快捷生成 JDBC 驱动程序模板的工具
如果按照 JDBC 官方的协议去实现一个驱动,那将是非常麻烦的,涉及多个类的继承实现,以及对各种数据类型支持或不支持的判定。
这个工具允许开发者用最简单的方式来制作自己的 JDBC 驱动,按以下方式即可编译并运行程序:
$ git clone https://github.com/rarnu/EasyJDBC.git
$ cd EasyJDBC
$ gradle build
$ cd build/libs
$ java -jar EasyJDBC.jar
填写以下内容即可生成一份 JDBC 驱动的代码:
字段 | 说明 | 示例 |
---|---|---|
工程名称 | 工程的名字,打包为 jar 包时,命名规则为 <工程名称>.jar | my-jdbc-proj |
代码前缀 | 生成代码文件时,所使用的统一前缀 | MyJdbc |
包名 | 生成的代码的基础包名 | com.myjdbc |
JDBC URL | 用户 JDBC Schema 识别的名称,如 jdbc:myjdbc://,则 URL 填写为 myjdbc | myjdbc |
默认端口 | 访问 JDBC 时使用的默认端口号,不填写则设为 80 | 80 |
主版本号 | 驱动的主版本号,不填写则设为 0 | 1 |
次版本号 | 驱动的次版本号,不填写则设为 0 | 0 |
驱动名称 | 展示给用户看的驱动名称,不填写则设为<代码前缀>所对应的字符串 | 用于演示的 JDBC 驱动程序 |
最后选择输出代码保存的路径,即可生成一份 JDBC 驱动代码。
如何修改生成的代码?
首先你必须了解 JDBC 协议,虽然本工具生成了大量代码,但是没有 JDBC 的基础依然无法修改
事先说明,本工具只实现了最为基础的内存数据访问,它无法访问真实数据库,因为真实的访问代码是需要开发者自己来写的。对于数据类型,连接方式的实现遵从了最小的原则,即仅实现了必要的代码,其他全部被标为“不支持”,需要的开发者可以自行替换“不支持”为自己的代码。
对于要修改数据获取方式的,修改 IO.kt
内 internalRequest
方法,同时参考 TestRequset
内的返回数据,该数据即可作为 JDBC 数据契约使用。
要修改数据连接的特性,如支持回滚,支持只读只写等,修改 Connection.kt
并实现相关的方法。
要在查询时支持更多数据类型,允许取消,设置游标的滚动方向,修改 Statement.kt
,PreparedStatement.kt
。
要在查询结果内支持更多数据类型,允许更新数据,修改 ResultSet.kt
。
关于 MetaData,请参考 doc
目录内的 JDBC 开发手册
谨慎修改。