14. maj 2003 - 16:33Der er
3 kommentarer og 1 løsning
Hvilken klasse leverer definitionen til createStatement
Hej dér.
Jeg er begyndt at rode med JDBC, og er i denne sammenhæng stødt på noget, som jeg ikke kan forklare.
Jeg har en note der viser, hvordan man opretter forbindelsen til jdbc:odbc ved følgende udtryk:
Connection con = DriverManager.getConnection("jdbc:odbc:myDB");
Derefter skal jeg så lave et Statement objekt ved følgende udtryk:
Statement s = con.createStateMent();
Og her er vi så nået til mit problem, for jeg ved ikke, hvorfra metoden createStatement returnerer sit Statement objekt. Da Connection er et interface, må det være en klasse der har implementeret Connection, men hvilken???
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Både Connection, Statement og alle de andre JDBC klasser er interfaces defineret i JDBC standarden.
Den der skriver JDBC driveren laver så nogle klasser der implementerer disse interfaces.
Fordi du kun bruger standard interfacene, så er du ikke bundet til en specifik implementation i driveren. Du skifter bare URL'en ud og så kører du op mod en Oracle database i.s.f. en MySQL database.
Smart !
Hvis du gerne vil se hvordan en implementation ser ud kan du bare udpakke JDBC driver jar filen og decompile class filerne.
Men det er hele pointen i JDBC at du ikke skal vide noget om de implementations klasser.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.