Connection的实现在哪里?

wphmoon123 2004-08-03 10:32:52
JDBC的Connection是一个接口来的,那么我们用这个接口的时候,它的method的实现在哪里?希望高手解惑。
...全文
164 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
shine333 2004-08-04
  • 打赏
  • 举报
回复
老兄在用JBuilder吧,abstract interface是它反编译时候弄出来的,我也不知道干什么的
Angel1980 2004-08-04
  • 打赏
  • 举报
回复
对,JDBC只是一个规范,这些核心的接口将由各个具体的数据库厂商实现,所有这个接口的实现将会由具体的驱动程序JAR包中的类来实现.
wphmoon123 2004-08-03
  • 打赏
  • 举报
回复
结贴
liusoft 2004-08-03
  • 打赏
  • 举报
回复
Connection接口的实现类就在于jdbc的驱动jar包中存放 :D

http://www.javayou.com
kaphoon 2004-08-03
  • 打赏
  • 举报
回复
abstract key word is useless. all interface are abstract by default.

http://www.itpub.net/242152.html
wphmoon123 2004-08-03
  • 打赏
  • 举报
回复
interface本身九不实现具体功能/操作,再加abstract是什么意思
befree 2004-08-03
  • 打赏
  • 举报
回复
abstract说明它不实现具体功能/操作,它的继承类去实现
swj_20 2004-08-03
  • 打赏
  • 举报
回复
firebat():
都在class12.jar里的,你仔细找找不就行了,oracle.jdbc.OracleConnectionWrapper
oracle.jdbc.driver.OracleConnection
还有几个你找找吧,呵呵.
wphmoon123 2004-08-03
  • 打赏
  • 举报
回复
找到了,真正的实现代码在oracle.jdbc.driver.OracleConnection这个类里面
public class OracleConnection
implements oracle.jdbc.internal.OracleConnection, ClientDataSupport
oracle.jdbc.internal.OracleConnection 继承(extends)了刚才oracle.jdbc.OracleConnection,但有个新问题,abstract interface这是干啥的,它和interface有什么不同吗
swj_20 2004-08-03
  • 打赏
  • 举报
回复
shine333(enihs):
老兄,你都两个颗星了还来抢生意呀?
:)
wphmoon123 2004-08-03
  • 打赏
  • 举报
回复
我查了一下,好像是这样子的
public abstract interface OracleConnection extends Connection
OracleConnection 仍然是一个接口,实现的代码不是写在哪里面,到底写在哪个类里面呢?
shine333 2004-08-03
  • 打赏
  • 举报
回复
具体的implements 的class在具体数据库厂商提供的jdbc支持包里面

比如Oracle的在class12.zip里面,那些可能只有class,

记得MySQL的JDBC包好像是开源的
wphmoon123 2004-08-03
  • 打赏
  • 举报
回复
我知道接口不可以实例化,但接口定义的方法必须有一个类来实现(implements),那么实现的代码写在哪里面的呢?
swj_20 2004-08-03
  • 打赏
  • 举报
回复
java.sql.*的接口应该都是在jdbc里实现的
swj_20 2004-08-03
  • 打赏
  • 举报
回复
oracle.jdbc.OracleConnection extends java.lang.Object implements java.sql.Connection
lovelymaomao 2004-08-03
  • 打赏
  • 举报
回复
DriverManager.getConnection();

接口是不可以实例化,但是可以做为返回值,这就是为什么都提倡面向接口编程

具体DriverManager 是做什么用的? 你在网上google一下,我是一下子说不清楚

wphmoon123 2004-08-03
  • 打赏
  • 举报
回复
不,我不是连不上数据库,而是对它的怎么连的感兴趣,因为Connection是接口,只有方法(method)名称,没有实现的代码,按道理,不是应该先用一个类实现Connection接口,然后通过那个类操作Connection接口定义的方法,但现在象上面的代码,都是直接使用接口的方法,这些方法的实现在哪里呢?
wywy3000 2004-08-03
  • 打赏
  • 举报
回复
database2.properties:
jdbc.drivers=com.sybase.jdbc2.jdbc.SybDriver
logfile=d:\\db2xml\\DBLog.txt


jdbc.url=jdbc:sybase:Tds:200.100.100.119:5000/ec
jdbc.user=sa
jdbc.password=
bbs.maxconn=100
bbs.libname=
bbs.flag=1
jdbc.dbname=ec
bbs.dept=1

这个是连SYBASE的!!!.....
wywy3000 2004-08-03
  • 打赏
  • 举报
回复
数据库连接全攻略:
public static Connection getConnection()
throws SQLException,IOException
{
Properties props = new Properties();
FileInputStream in = new FileInputStream("database2.properties");
props.load(in);
in.close();
String drivers = props.getProperty("jdbc.drivers");
if(drivers != null)
System.setProperty("jdbc.drivers", drivers);
String url = props.getProperty("jdbc.url");
String username = props.getProperty("jdbc.user");
String password = props.getProperty("jdbc.password");
System.out.println("1111"+url+username+drivers);
return DriverManager.getConnection(url,username,password);
}

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧