天天看點

JDBC的了解以及粗略介紹

@TOC資料庫連接配接以及連接配接池的一些微小的了解《第一部分》

資料庫連接配接從最基本的JDBC開始:

什麼是JDBC?

1 】JDBC全稱java database Connectivity 就是java資料庫連接配接,是一種用于執行SQL的java的API。

2】 他是由一組用java語言編寫的類和接口組成。

3】他提供了一種基準,在此基礎上可以編寫更進階的工具和接口。

4】最直接的一點就是使資料庫開發人員能夠編寫資料庫應用程式。

JDBC的建立方式?

1】首先加載驅動:

Class.forName("com.mysql.cj.jdbc.Driver");
           

這裡的參數是

JDBC的了解以及粗略介紹

如圖所示的jar包中的類,通過反射的方式,不用關心是否初始化,隻需要一個字元串就可以擷取位元組碼檔案,并且建立對象。擷取其變量,方法,參數,修飾符,構造器 。即使其私有化也是可以擷取。

圖示的jar包中的類就是資料庫廠商提供給我們的驅動類,我們擷取驅動類并且使用其提供的方法等

2】建立連接配接

String url="jdbc:mysql://localhost:3306/java?serverTimezone=UTC";
String user = "root";
String password = "root";
Connection connection =
 DriverManager.getConnection(url,user,password);
           

在參數中

1 jdbc【這是jdbc連接配接的聲明】

2 mysql【這是目前資料庫使用的聲明】

3 localhost:3306【IP位址+端口号】

4 java【是資料庫的名】

5 ?serverTimezone=UTC【如果不加上這個有時會報錯,主要原因是資料庫在開發的時候地區不在亞洲地區,是以系統預設的時間是美洲時區的時間,比中國時間差8個小時,系統會報錯,是以需要手動的聲明】

DriverManager:是一個驅動管理類;

而在JDBC的規範中要求Driver類必須在DriverManager的使用前注冊自己,注冊過程在Driver的靜态代碼塊已經實作了,即在類被加載的時候就會完成像驅動管理器的注冊。

見Driver的源代碼

public class Driver extends NonRegisteringDriver implements java.sql.Driver{
    static{
        try{
            java.sql.DriverManager.registerDriver(new Driver());
        }catch(SQLException e){
            throw nrew RuntimeException("Can't register driver")
        }
    }
}
           

3】建立SQL編譯器

Statement statement = connection,CreatStatement();
           

編譯器分為兩種,一個是statement另外一個是preparedstatement,其中preparedstatement是預編譯器,使用它可以在一定程度上防止SQL注入。

4】開始編譯SQL

String sql = "sql語句";
statement.execute(sql)//**第一種**
statement.executeupdate(sql);//**第二種**
statement.executequery(sql);//**第三種**
           

第一種可以執行增删改查,傳回值為true和false,當傳回值為true是說明執行的是查找操作,當傳回值是false時說明執行的增删改操作。

第二種可以執行增删改查,傳回的是int類型,當執行數值為0的時候說明執行失敗,當不是0的時候說明執行成功,傳回的是受影響的行數。

第三種可以執行查詢操作,傳回值是一個resultset集合

5】關閉流

statement.colse();
connection.close();



   總結:以上為對JDBC的個人的一點點小的了解,寫下來希望能讓自己了解更好,加油。如有錯誤希望各位哥哥姐姐批評指正。