数据库连接全攻略:
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);
    }

解决方案 »

  1.   

    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的!!!.....
      

  2.   

    不,我不是连不上数据库,而是对它的怎么连的感兴趣,因为Connection是接口,只有方法(method)名称,没有实现的代码,按道理,不是应该先用一个类实现Connection接口,然后通过那个类操作Connection接口定义的方法,但现在象上面的代码,都是直接使用接口的方法,这些方法的实现在哪里呢?
      

  3.   

    DriverManager.getConnection();接口是不可以实例化,但是可以做为返回值,这就是为什么都提倡面向接口编程具体DriverManager 是做什么用的? 你在网上google一下,我是一下子说不清楚
      

  4.   

    oracle.jdbc.OracleConnection extends java.lang.Object implements java.sql.Connection
      

  5.   

    java.sql.*的接口应该都是在jdbc里实现的
      

  6.   

    我知道接口不可以实例化,但接口定义的方法必须有一个类来实现(implements),那么实现的代码写在哪里面的呢?
      

  7.   

    具体的implements 的class在具体数据库厂商提供的jdbc支持包里面比如Oracle的在class12.zip里面,那些可能只有class, 记得MySQL的JDBC包好像是开源的
      

  8.   

    我查了一下,好像是这样子的
    public abstract interface OracleConnection extends Connection 
    OracleConnection 仍然是一个接口,实现的代码不是写在哪里面,到底写在哪个类里面呢?
      

  9.   

    shine333(enihs):
      老兄,你都两个颗星了还来抢生意呀?
    :)
      

  10.   

    找到了,真正的实现代码在oracle.jdbc.driver.OracleConnection这个类里面
    public class OracleConnection
        implements oracle.jdbc.internal.OracleConnection, ClientDataSupport
    oracle.jdbc.internal.OracleConnection 继承(extends)了刚才oracle.jdbc.OracleConnection,但有个新问题,abstract interface这是干啥的,它和interface有什么不同吗
      

  11.   

    firebat():
      都在class12.jar里的,你仔细找找不就行了,oracle.jdbc.OracleConnectionWrapper
    oracle.jdbc.driver.OracleConnection
    还有几个你找找吧,呵呵.
      

  12.   

    abstract说明它不实现具体功能/操作,它的继承类去实现
      

  13.   

    interface本身九不实现具体功能/操作,再加abstract是什么意思
      

  14.   

    abstract key word is useless. all interface are abstract by default.http://www.itpub.net/242152.html
      

  15.   

    Connection接口的实现类就在于jdbc的驱动jar包中存放 :Dhttp://www.javayou.com
      

  16.   

    老兄在用JBuilder吧,abstract interface是它反编译时候弄出来的,我也不知道干什么的
      

  17.   

    对,JDBC只是一个规范,这些核心的接口将由各个具体的数据库厂商实现,所有这个接口的实现将会由具体的驱动程序JAR包中的类来实现.