Skip to content

rarnu/EasyJDBC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EasyJDBC

快捷生成 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.ktinternalRequest 方法,同时参考 TestRequset 内的返回数据,该数据即可作为 JDBC 数据契约使用。

要修改数据连接的特性,如支持回滚,支持只读只写等,修改 Connection.kt 并实现相关的方法。

要在查询时支持更多数据类型,允许取消,设置游标的滚动方向,修改 Statement.ktPreparedStatement.kt

要在查询结果内支持更多数据类型,允许更新数据,修改 ResultSet.kt

关于 MetaData,请参考 doc 目录内的 JDBC 开发手册 谨慎修改。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages