我在2010年的最后一个季度才学习Java。我可以说我目前获得的知识还不够,而且还有很多改进。我在开发过程中仍然在学习,但我的大多数代码都是来自其他当前工作应用程序的片段。我想我研究语言的方式会影响我所知道的方式。我没有先学习基本知识,而是跳到了影响我理解方式的高级功能。 (我确实提前完成了以前的项目任务。)
我经常使用import java.sql.connection
等连接到我的MySql数据库。我正在使用Eclipse IDE,然后在创建Connection / PreparedStatement实例时我没有导入包。 Eclipse将显示我遇到mysql.jdbc.*
的相关包。
虽然我做了一些关于它的研究但对我来说仍然不太清楚。这些与包的区别。
我知道有人可以更多地了解这一点。
答案 0 :(得分:12)
引用com.mysql.jdbc.Connection的javadoc:
此接口包含的方法被视为JDBC API的“供应商扩展”,用于MySQL的java.sql.Connection实现。
因此,该类至少构建在JDBC之上以添加更多功能。但它仍然是JDBC的核心 - 当你使用纯JDBC时,你正在使用这个类,你只是看不到它。
我想说如果你只使用标准的JDBC接口构建应用程序,那么就这样做。如果您绝对需要特定于MySQL的API功能,那么请使用MySQL接口。我主要与Oracle合作,多年来我一直在这样做,我从来没有回到任何特定于Oracle的接口;你可以用JDBC做很多事情。
解决您的观点:
答案 1 :(得分:5)
简单地说:Java(J2SE / J2EE)提供java.sql。*作为连接数据库的标准方法。问题是这些类不知道如何连接到模型中的每个特定数据库,它们面向程序员。
要连接到每个数据库,您需要输入其驱动程序。 Oracle驱动程序将知道如何连接到Oracle数据库,mysql驱动程序将知道如何连接到MySQL。 java.sql中。将知道如何使用每个驱动程序,因此只需使用它就不需要知道每个驱动程序的内部。