如何在Java 5和6中使JDBC驱动程序工作?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何在Java 5和6中使JDBC驱动程序工作?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1341字,纯文字阅读大概需要2分钟。
内容图文
Java 6附带JDBC 4,它与以前版本的Java附带的JDBC不向后兼容.
我们有一个JDBC驱动程序,它必须同时支持Java 5和Java 6.如果我在驱动程序中实现新接口,它在Java 5中不起作用,因为接口也使用新类.所以我们有2个版本的驱动程序.有没有办法让Java 5和6都有一个jar?
解决方法:
如果您实现JDBC 3.0驱动程序,并且您的客户端在Java 6中运行它,那么如果它们调用任何新的JDBC 4.0方法,它们将会出错.这种情况很少见,因为这些新方法并不经常使用,但如果你想要万无一失,那么下面的解决方案(这是一个黑客攻击)应该可以解决这个问题:
>使用java 5编译(如果使用java 6编译并在java 5中运行,则会出现版本不匹配错误)
>实现您的普通JDBC 3.0驱动程序,但也包括新JDBC 4.0方法的实现(注意:这将导致编译错误,因为java 5没有定义像java.sql.NClob这样的类型)
>在一个单独的项目中创建新的JDBC 4.0接口(如java.sql.NClob)的精确副本(所以现在有2个项目:原始项目和这个项目)
>将两个项目一起编译,并为每个项目创建一个单独的jar:
>你的JDBC驱动程序实现(保持这个jar)
>新的JDBC 4.0接口(丢弃此jar)
我们可以丢弃JDBC 4.0接口jar,因为:
>在Java 6中,定义了那些新的JDBC 4.0接口
>在Java 5中,JDBC 3.0接口没有定义新方法(如Connection.createNClob()),因此您的用户不会调用它们
唯一可能的问题可能是java 5类加载器.如果找不到新的JDBC 4.0接口(如java.sql.NClob),它可能会失败.我不认为这会在Sun JVM中发生,除非你调用一个返回其中一个新接口的方法,所以你应该很好.如果我错了,这是一个问题,那么在Java 5中运行时,只需将丢弃的jar(定义新的JDBC 4.0接口的jar)放在类路径上.
内容总结
以上是互联网集市为您收集整理的如何在Java 5和6中使JDBC驱动程序工作?全部内容,希望文章能够帮你解决如何在Java 5和6中使JDBC驱动程序工作?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。