當前位置:首頁 » 編程軟體 » 資料庫jdbc編程

資料庫jdbc編程

發布時間: 2022-09-23 06:59:23

① JDBC是什麼

JDBC代表java資料庫連接,這對Java編程語言和廣泛的資料庫之間獨立於資料庫的連接標準的Java API。

JDBC庫包含的API為每個通常與資料庫的使用相關聯的任務:

使得連接到資料庫

創建sql或MySQL語句

執行SQL或MySQL的查詢資料庫

查看和修改結果記錄從根本上說,JDBC是一種規范,它提供的介面,一套完整的,允許攜帶型訪問底層資料庫。可以用Java來寫不同類型的可執行文件,如:

Java應用程序

Java Applets

Java Servlets

Java ServerPages (JSP)

Enterprise JavaBeans (EJBs)所有這些不同的可執行文件就可以使用JDBC驅動程序來訪問資料庫,並把存儲的數據的優勢。

JDBC提供了相同的功能,ODBC,允許Java程序包含與資料庫無關的代碼。

先決條件:

以前正如期進行本教程,需要具備以下兩個主題內容很好的了解:

核心Java編程

SQL或MySQL資料庫

JDBC架構:

JDBC API支持兩層和三層處理模型進行資料庫訪問,但在一般的JDBC體系結構由兩層組成:

JDBC API: 提供了應用程序對JDBC的管理連接。

JDBC Driver API: 支持JDBC管理到驅動器連接。JDBC API的使用驅動程序管理器和資料庫特定的驅動程序提供透明的連接到異構資料庫。

JDBC驅動程序管理器可確保正確的驅動程序來訪問每個數據源。該驅動程序管理器能夠支持連接到多個異構資料庫的多個並發的驅動程序。

以下是結構圖,它顯示了驅動程序管理器方面的JDBC驅動程序和Java應用程序的位置:


常見的JDBC組件:

JDBC API提供了以下介面和類:

DriverManager: 這個類管理資料庫驅動程序的列表。內容是否符合從Java應用程序使用的通信子協議正確的資料庫驅動程序的連接請求。識別JDBC在一定子協議的第一個驅動器將被用來建立資料庫連接。

Driver: 此介面處理與資料庫伺服器通信。很少直接與驅動程序對象。相反,使用DriverManager中的對象,它管理此類型的對象。它也抽象與驅動程序對象工作相關的詳細信息

Connection : 此介面與接觸資料庫的所有方法。連接對象表示通信上下文,即,與資料庫中的所有的通信是通過唯一的連接對象。

Statement : 可以使用這個介面創建的對象的SQL語句提交到資料庫。一些派生的介面接受除執行存儲過程的參數。

ResultSet: 這些對象保存從資料庫後,執行使用Statement對象的SQL查詢中檢索數據。它作為一個迭代器,讓您可以通過移動它的數據。

SQLException: 這個類處理發生在一個資料庫應用程序的任何錯誤。

② Java語言中,用JDBC編寫資料庫應用程序需要哪幾步

1、裝庫,建庫;
2、找到相應的資料庫連接包,sql、oracle都有對應的jar包;
2、寫一個類,結合對應的jar包來連接資料庫;
3、再寫一個類,通過第二步的類用來對資料庫操作。
其實是比較簡單的。

③ 原生jdbc執行sql的過程是什麼呢

標準的API,可以構建更高級的工具和介面,使資料庫開發人員能夠用純Java API編寫資料庫應用程序。同時,JDBC也是一個品牌。使用JDBC,可以很容易地向各種關系數據發送SQL語句。換句話說,有了JDBC API,就不需要再編寫一個訪問Sybase資料庫的程序,另一個訪問Oracle資料庫的程序,或者另一個訪問Informix資料庫的程序等等。

該連接地址將由資料庫製造商提供。通常,當使用JDBC連接到資料庫時,用戶需要輸入資料庫連接的用戶名和密碼。本章使用的是mysql資料庫,因此用戶名和密碼都是“root”,用戶只有在獲得連接後才能查詢或更新資料庫。要連接到資料庫,您需要從java.sql.DriverManager請求並獲取一個Connection對象,該對象表示資料庫的連接。

④ java中簡述使用JDBC完成資料庫操作的基本步驟。

創建一個以JDBC連接資料庫的程序,包含7個步驟:
1、載入JDBC驅動程序:
在連接資料庫之前,首先要載入想要連接的資料庫的驅動到JVM(Java虛擬機),
這通過java.lang.Class類的靜態方法forName(String className)實現。
例如:
try{
//載入MySql的驅動類
Class.forName("com.mysql.jdbc.Driver") ;
}catch(ClassNotFoundException e){
System.out.println("找不到驅動程序類 ,載入驅動失敗!");
e.printStackTrace() ;
}
成功載入後,會將Driver類的實例注冊到DriverManager類中。
2、提供JDBC連接的URL
•連接URL定義了連接資料庫時的協議、子協議、數據源標識。
•書寫形式:協議:子協議:數據源標識
協議:在JDBC中總是以jdbc開始
子協議:是橋連接的驅動程序或是資料庫管理系統名稱。
數據源標識:標記找到資料庫來源的地址與連接埠。
例如:(MySql的連接URL)
jdbc:mysql:
//localhost:3306/test?useUnicode=true&characterEncoding=gbk ;
useUnicode=true:表示使用Unicode字元集。如果characterEncoding設置為
gb2312或GBK,本參數必須設置為true 。characterEncoding=gbk:字元編碼方式。
3、創建資料庫的連接
•要連接資料庫,需要向java.sql.DriverManager請求並獲得Connection對象,
該對象就代表一個資料庫的連接。
•使用DriverManager的getConnectin(String url , String username ,
String password )方法傳入指定的欲連接的資料庫的路徑、資料庫的用戶名和
密碼來獲得。
例如:
//連接MySql資料庫,用戶名和密碼都是root
String url = "jdbc:mysql://localhost:3306/test" ;
String username = "root" ;
String password = "root" ;
try{
Connection con =
DriverManager.getConnection(url , username , password ) ;
}catch(SQLException se){
System.out.println("資料庫連接失敗!");
se.printStackTrace() ;
}
4、創建一個Statement
•要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3
種類型:
1、執行靜態SQL語句。通常通過Statement實例實現。
2、執行動態SQL語句。通常通過PreparedStatement實例實現。
3、執行資料庫存儲過程。通常通過CallableStatement實例實現。
具體的實現方式:
Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql) ;
CallableStatement cstmt =
con.prepareCall("{CALL demoSp(? , ?)}") ;
5、執行SQL語句
Statement介面提供了三種執行SQL語句的方法:executeQuery 、executeUpdate
和execute
1、ResultSet executeQuery(String sqlString):執行查詢資料庫的SQL語句
,返回一個結果集(ResultSet)對象。
2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或
DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的
語句。
具體實現的代碼:
ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;
int rows = stmt.executeUpdate("INSERT INTO ...") ;
boolean flag = stmt.execute(String sql) ;
6、處理結果
兩種情況:
1、執行更新返回的是本次操作影響到的記錄數。
2、執行查詢返回的結果是一個ResultSet對象。
• ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些
行中數據的訪問。
• 使用結果集(ResultSet)對象的訪問方法獲取數據:
while(rs.next()){
String name = rs.getString("name") ;
String pass = rs.getString(1) ; // 此方法比較高效
}
(列是從左到右編號的,並且從列1開始)
7、關閉JDBC對象
操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲
明順序相反:
1、關閉記錄集
2、關閉聲明
3、關閉連接對象
if(rs != null){ // 關閉記錄集
try{
rs.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(stmt != null){ // 關閉聲明
try{
stmt.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(conn != null){ // 關閉連接對象
try{
conn.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}

⑤ jdbc原理

目前Mybatis是最主流的,為了學好Mybatis,我們先要搞明白JDBC。JDBC(Java DataBase Connectivity)就是Java資料庫連接,說白了就是用Java語言來操作資料庫。原來我們操作資料庫是在控制台使用SQL語句來操作資料庫,JDBC是用Java語言向資料庫發送SQL語句。

1,JDBC是一套協議,是JAVA開發人員和資料庫廠商達成的協議,也就是由Sun定義一組介面,由資料庫廠商來實現,並規定了JAVA開發人員訪問資料庫所使用的方法的調用規范。

2,JDBC的實現是由資料庫廠商提供,以驅動程序形式提供。

3,JDBC在使用前要先載入驅動。

JDBC對於使用者要有一致性,對不同的資料庫其使用方法都是相同的。

驅動開發必須要實現Driver介面。

資料庫驅動的實現方式 :

JDBC-ODBC橋接式

JDBC網路驅動,這種方式是通過中間伺服器的協議轉換來實現的

JDBC+本地驅動,這種方式的安全性比較差。

JDBC驅動,由資料庫廠商實現。

2 JDBC的API及應用步驟

1、java.sql包和javax.sql包

Driver介面(驅動),在載入某一 Driver 類時,它應該創建自己的實例並向 DriverManager 注冊該實例。這意味著用戶可以通過調用以下程序載入和注冊一個驅動程序

Class.forName("oracle.jdbc.driver.OracleDriver")

DriverManager類(驅動管理器),它可以創建連接,它本身就是一個創建Connection的工廠(Factory)。

Connection介面,會根據不同的驅動產生不同的連接

Statement介面,發送sql語句

ResultSet介面(結果集),是用來接收select語句返回的查詢結果的。其實質類似於集合。

2、JDBC應用步驟

執行一次JDBC連接,分六個步驟進行:

1. 導入包

在程序中包含資料庫編程所需的JDBC類。大多數情況下,使用 import java.sql.* 就足夠了

2. 注冊JDBC驅動程序

需要初始化驅動程序,這樣就可以打開與資料庫的通信。

3. 打開一個連接

使用DriverManager.getConnection()方法來創建一個Connection對象,它代表一個資料庫的物理連接。

4. 執行一個查詢

需要使用一個類型為Statement或PreparedStatement的對象(兩者區別看後文),並提交一個SQL語句到資料庫執行查詢。

⑥ JDBC連接資料庫的步驟都有哪些

1、首先我們通過資料庫可視化工具navicate for mysql,新建一個資料庫,名字叫test新建一張表。

⑦ JDBC操作資料庫如何快速學會

JDBC操作資料庫其實只要掌握了六大步驟就基本差不多啦:
1.載入驅動
Class.forName(String);
String(驅動器的名稱,分oracle,sql
server等資料庫驅動)
2.創建連接
DriverManager.getConnection(url,userName,passwd);
url是資料庫的地址,後面分別是用戶名和密碼
3.創建會話statement(三種statement)
stmt(Statement):所有stmt的父類從connection對象獲得,主要用於解析執行sql語句,返回響應結果,多執行異構的sql語句
pstmt(preparedStatement):主要用於執行同構的sql語句,stmt的子類。
cstmt:主要用於執行plsql的編程對象
4.執行sql語句
executeQuery();
5.處理結果集(有結果集返回,無則可省去,比如插入和刪除)
ResultSet
rs
=
步驟4的結果
6.釋放資源即連接,一般些在finally語句塊中,目的是減輕伺服器的壓力

熱點內容
什麼配置就能玩地平線 發布:2025-05-16 09:13:46 瀏覽:82
python旋轉圖片 發布:2025-05-16 09:13:40 瀏覽:637
少女前線防檢測腳本 發布:2025-05-16 08:59:07 瀏覽:728
編譯器對系統的依賴 發布:2025-05-16 08:37:29 瀏覽:711
javamap數組 發布:2025-05-16 08:37:28 瀏覽:451
移動光貓如何自行修改密碼 發布:2025-05-16 08:20:15 瀏覽:125
作為基線存儲 發布:2025-05-16 08:15:22 瀏覽:859
安卓怎麼關閉手機應用推薦 發布:2025-05-16 08:03:38 瀏覽:930
sql內置函數 發布:2025-05-16 08:03:34 瀏覽:923
怎麼看伺服器內存型號 發布:2025-05-16 08:03:30 瀏覽:813