面試了一個程式設計師,我問他什麼是jdbc,為什麼要有jdbc,jdbc

今天面試了一箇中級程式設計師,我問他什麼是JDBC,為什麼要有JDBC。他的回答只有一句話:“JDBC就是連線資料的。”其它的什麼也說不出來了。我再問:JDBC的實現者是哪個。他回答:SUN公司。

JDBC是SUN公司制定的一套介面,既然是介面那麼就有實現者和呼叫者,各大資料庫廠商就是實現者,我們開發人員就是呼叫者。這就是面向介面開發,也叫面向抽象開發。如果讓SUN公司去實現對資料的連結,那麼有那麼多的資料庫每個資料庫的底層實現原理都是不一樣的,需要開發很多套資料庫的連結。所以SUN公司制定一套連結資料庫的規範(JDBC)各大資料庫廠商按照這套JDBC的規範來實現資料庫的連結,那麼我們開發人員就不需要關心底層使用的是哪個資料庫了,直接根據介面(JDBC)來開發就行。

JDBC開發七大步驟

1、註冊驅動

2、獲取連線

3、獲取資料庫操作物件

4、編寫sql語句

5、執行sql語句

6、處理結果集(只有查詢語句才會有這一步)

7、釋放資源

具體程式碼:import java。sql。Connection;import java。sql。DriverManager;import java。sql。SQLException;import java。sql。Statement;import com。mysql。jdbc。Driver;public class JDBCTest { public static void main(String[] args) { Connection connection = null; Statement statement = null; try { // 註冊驅動 DriverManager。registerDriver(new Driver()); // 獲取連線 connection = DriverManager。getConnection(“jdbc:mysql://localhost:3306/jd”, “root”, “1129214631”); // 獲取資料庫操作物件 statement = connection。createStatement(); // 編寫sql語句 String sql = “insert into student(name,address) values (‘zhaodong’,‘nanjing’)”; // 執行sql語句 int num = statement。executeUpdate(sql); System。out。println(“num:” + num); } catch (SQLException e) { e。printStackTrace(); } finally { if (statement != null) { try { statement。close(); } catch (SQLException e) { e。printStackTrace(); } } if (connection != null) { try { connection。close(); } catch (SQLException e) { e。printStackTrace(); } } } }}