java - 既然jdbc是一个接口(interface),我们如何在jdbc中使用prepare语句

标签 java interface jdbc

在 JDBC 中,除了 DriverManager 之外,所有这些都是接口(interface)。我们如何使用诸如 PrepareStatementConnection 等接口(interface)?

最佳答案

drivermanager 返回Connection 的具体实现。 Connection 的具体实现又返回Statement 的具体实现。 Statement 的具体实现又返回 ResultSet 的具体实现。等等。

这些具体的实现是由 JDBC 驱动程序提供的。要了解底层实现,请执行

System.out.println(connection.getClass());

您将看到它不是 java.sql.Connection,而只是所使用的 JDBC 驱动程序提供的连接。

接口(interface)只是用来定义实现者必须遵守的契约。这使您能够在不同的 JDBC 驱动程序中重用相同的 JDBC 代码,而无需重写代码(可能是 DB 特定的 SQL 查询,但这不是 Java/JDBC 问题)不同的数据库服务器。

关于java - 既然jdbc是一个接口(interface),我们如何在jdbc中使用prepare语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5113336/

相关文章:

java - 使用JUnit @ResourceLock顺序执行一些测试类

c++ - 将 char 转换为 std::string,然后连接

postgresql - clojure/java.jdbc 和 postgres : Prepared statments 100x slower than string concatenated queries?

java - 如何使用 JDBC 查询 UTF-8 数据库

java - Hibernate/JPA OneToMany 是否应该在两侧进行更新?

java - 如何删除 Java Swing 中的行?

java - 最好使用成对列表或两个列表?

java - Java中抽象和多态的优点

java - 内部异常 : com. mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:未知错误 1049

java - 如何迭代可以由另一个线程添加到的列表