java對cron計算處理
阿新 • • 發佈:2022-05-20
Java資料庫連線
1 概念
Java資料庫連線,(Java Database Connectivity,簡稱JDBC)是Java語言中用來規範客戶端程式如何來訪問資料庫的應用程式介面,提供了諸如查詢和更新資料庫中資料的方法。JDBC也是Sun Microsystems的商標。我們通常說的JDBC是面向關係型資料庫的。
DBC庫包括通常與資料庫使用相關,如下面提到的每個任務的API -
- 連線到資料庫
- 建立SQL或MySQL語句
- 在資料庫中執行SQL或MySQL查詢
- 檢視和修改結果記錄
從根本上說,JDBC是一個規範,它提供了一整套介面,允許以一種可移植的訪問底層資料庫API。 Java可以用它來編寫不同型別的可執行檔案,如 -
- Java應用程式
- Java Applet
- Java Servlets
- Java ServerPages(JSP)
- 企業級JavaBeans(EJB)
2 JDBC架構
JDBC API支援用於資料庫訪問的兩層和三層處理模型,但通常,JDBC體系結構由兩層組成:
- JDBC API:提供應用程式到JDBC管理器連線。
- JDBC驅動程式API:支援JDBC管理器到驅動程式連線。
JDBC API使用驅動程式管理器並指定資料庫的驅動程式來提供與異構資料庫的透明連線。
JDBC驅動程式管理器確保使用正確的驅動程式來訪問每個資料來源。 驅動程式管理器能夠支援連線到多個異構資料庫的多個併發驅動程式。
以下是架構圖,它顯示了驅動程式管理器相對於JDBC驅動程式和Java應用程式的位置
3 常見的JDBC元件
JDBC API 提供以下介面和類:
- DriverManager:此類管理資料庫驅動程式列表。 使用通訊子協議將來自java應用程式的連線請求與適當的資料庫驅動程式進行匹配。在JDBC下識別某個子協議的第一個驅動程式將用於建立資料庫連線。
- Driver:此介面處理與資料庫伺服器的通訊。我們很少會直接與Driver物件進行互動。 但會使用DriverManager物件來管理這種型別的物件。 它還提取與使用Driver物件相關的資訊。
- Connection:此介面具有用於聯絡資料庫的所有方法。 連線(Connection)物件表示通訊上下文,即,與資料庫的所有通訊僅通過連線物件。
- Statement:使用從此介面建立的物件將SQL語句提交到資料庫。 除了執行儲存過程之外,一些派生介面還接受引數。
- ResultSet:在使用Statement物件執行SQL查詢後,這些物件儲存從資料庫檢索的資料。 它作為一個迭代器並可移動ResultSet物件查詢的資料。
- SQLException:此類處理資料庫應用程式中發生的任何錯誤。
4 示例程式碼
點選檢視程式碼
package jdbc;
import java.sql.*;
/**
* @program: mybatis_day01_1
* @description:
* @author: brusee
* @create: 2019-12-08 16:35
**/
public class jdbcTest {
public static void main(String[] args){
Connection connection=null;
PreparedStatement preparedStatement=null;
ResultSet resultSet=null;
try {
//載入資料庫驅動
Class.forName("com.mysql.jdbc.Driver");
//通過驅動管理類獲取資料庫連線
connection= DriverManager.getConnection("jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8","root","root");
//定義sql語句,?表示佔位符
String sql="select * from user where username=?";
//獲取預處理statement
preparedStatement=connection.prepareStatement(sql);
//設定引數,第一個引數為sql語句中引數的序號(從1開始),第二個引數為設定的引數值
preparedStatement.setString(1,"王五");
//向資料庫發出sql執行查詢,查詢出結果集
resultSet=preparedStatement.executeQuery();
//遍歷查詢結果集
while (resultSet.next())
{
System.out.println(resultSet.getString("id")+" "+resultSet.getString("username"));
}
} catch (Exception e) {
e.printStackTrace();
}
finally {
//釋放資源
if(resultSet!=null){
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}