Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tại sao việc gọi Class.forName (com.mysql.jdbc.Driver) đăng ký MySQL cho JDBC?

Nó đăng ký nó vì nó tải lớp vào bộ nhớ và chạy các bộ khởi tạo tĩnh của lớp. Sau đó, mã khởi tạo tĩnh gọi vào khung JDBC để nói "Xin chào, tôi là trình điều khiển JDBC" (bằng cách gọi DriverManager.registerDriver ).

Ví dụ:hạng lái xe sẽ trông mơ hồ như thế này:

package com.example.jdbc;

import java.sql.DriverManager;

public class Driver implements java.sql.Driver {
    static {
        DriverManager.registerDriver(new Driver());
    }

    // ...implementation...
}

Sau đó, khi bạn thực hiện Class.forName("com.example.jdbc.Driver") , nó tải lớp và chạy trình khởi tạo tĩnh, tạo một thể hiện và đăng ký nó với DriverManager .

Tôi nên lưu ý rằng như Andreas nói , trình điều khiển JDBC hiện đại không cần bạn làm điều này.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cam kết duy nhất khi nhập các tệp SQL rất lớn (MySQL)

  2. Tìm nạp và hiển thị dữ liệu cho từng người dùng đã đăng ký trong PHP bằng PDO

  3. Làm thế nào để thêm cột bằng cách sử dụng thay đổi trong mysql?

  4. Cách hàm TO_BASE64 () hoạt động trong MySQL

  5. Trả lại Ngày, Tháng và Năm trong MySQL