大家好,我是java的新手,有人向我推荐一些关于programming.Can连接的好读物吗?我必须将我的java程序连接到一个数据库。另外,在网上搜索时,我发现下面这句话有点令人困惑
1)Connection dbConnection=DriverManager.getConnection(url,”loginName”,”Password”)
2)Statement statement = dbConnection.createStatement();在第二个语句中,"createStatement“是一种”接口连接“方法。
如何调用接口的方法??
发布于 2011-01-27 15:05:22
Ajay,JDBC是Sun (现在的Oracle :-( ))发布的API (标准)。
在编写代码时,您可以使用API编写基于接口的代码(注意:打开javadoc并查看...JDBC是接口的集合。java.sql.*包)
当您想要运行应用程序时,您必须使用数据库供应商提供的实现...所有提供JDBC支持的DB供应商都必须提供此实现。classes12.jar或ojdbc14.jar等...在压缩实用程序中打开该jar文件,您可以看到类java.sql.Interface等...
这些是实现您在问题中询问的接口的具体类……
所以你实际上是在使用一个具体的类。了解java中的继承。
这些可能会对你有所帮助
http://www.oracle.com/technetwork/java/overview-141217.html
http://download.oracle.com/javase/tutorial/jdbc/basics/index.html
http://java.sun.com/developer/onlineTraining/Database/JDBC20Intro/JDBC20.html
http://www.roseindia.net/jdbc/jdbc.shtml良好实践教程
希望这能帮到你。
谢谢。
发布于 2011-01-27 15:06:01
除了hilal提供的官方教程链接之外,我还将解释JDBC的工作原理。
JDBC是一种标准。它定义了一组接口。然后,每个JDBC驱动程序--即特定数据库的具体实现--必须严格遵循这些接口。
然后,驱动程序在驱动程序管理器中注册自己(以前您必须使用Class.forName(..)完成此操作,当您调用DriverManager.getConnection(..)时,将根据传递的url选择合适的驱动程序,并实例化一个连接。
现在来看看这个连接,还有你的最后一个问题--如果你输出connection.getClass(),你会得到com.mysql.driver.ConnectionImpl (例如)。这意味着jdbc驱动程序已经提供了Connection接口的实现,但是您不需要知道每个驱动程序的类-您只需要知道JDBC接口。
也就是说,我认为您不仅应该多阅读一些关于JDBC的内容,还应该多阅读一些关于接口和多态的一般知识。您可以通过接口引用对象,但对象始终是实现该接口的具体类的实例。
发布于 2012-09-27 22:14:35
由Oracle (最初由Sun Microsystems)定义的JDBC api --一组接口应该由特定的JDBC供应商实现。
例如,如果您使用的是MySql驱动程序,那么MySql人员必须实现由Oracle (Sun最初)定义的所有接口。
https://stackoverflow.com/questions/4813549
复制相似问题