溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JDBC 技術詳解1

發布時間:2020-07-29 09:46:48 來源:網絡 閱讀:255 作者:wx5cdcd12b27a64 欄目:MySQL數據庫

jdbc是數據庫中十分重要的一項技術,是我們在做項目最常用的一類接口實現類,

這里就個朋友們簡單詳細的聊一下。

首先我們應該知道什么是jdbc

JDBC(JavaDataBaseConnectivity)java 數據庫連接 , 是 JavaEE 平臺下的技術規范 ,定義了在 Java 語言中連接數據,執行 SQL 語句的標準 , 可以為多種關系數據庫提供統一訪問。

但想要訪問數據庫就必須使用數據庫驅動,

那么什么是數據庫驅動呢?
數據庫廠商對 JDBC 規范的具體實現 ,不同數據產品的數據庫驅動名字有差異 ,在程序中需要依賴數據庫驅動來完成對數據庫的操作。

JDBC 技術詳解1

我們現在使用的是JDBC3.0 標準

其中常用的接口有

1 Driver 接口
Driver 接口的作用是來定義數據庫驅動對象應該具備的一些能力。比如與數據庫建立連 接的方法的定義所有支持 java 語言連接的數據庫都實現了該接口,實現該接口的類我們稱 之為數據庫驅動類。在程序中要連接數據庫,必須先通過 JDK 的反射機制加載數據庫驅動 類,將其實例化。不同的數據庫驅動類的類名有區別。 加載 MySql 驅動:Class.forName("com.mysql.jdbc.Driver"); 加載 Oracle 驅動:Class.forName("oracle.jdbc.driver.OracleDriver");

DriverManager 類

DriverManager

通過實例化的數據庫驅動對象,能夠建立應用程序與數據庫之間建立連 接。并返回 Connection 接口類型的數據庫連接對象。

常用方法

?getConnection(StringjdbcUrl,Stringuser,Stringpassword)

該方法通過訪問數據庫的 url、用戶以及密碼,返回對應的數據庫的 Connection 對象。

JDBCURL
與數據庫連接時,用來連接到指定數據庫標識符。在 URL 中包括了該數據庫的類型、 地址、端口、庫名稱等信息。不同品牌數據庫的連接 URL 不同。

Connection 接口

Connection 與數據庫的連接(會話)對象。我們可以通過該對象執行 sql 語句并返回結

果。

連接 MySql 數據庫: Connection conn = DriverManager.getConnection("jdbc:mysql://host:port/database", "user", "password"); 連接 Oracle 數據庫:
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@host:port:database", "user","password"); 連接 SqlServer 數據庫: Connection conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://host:port; DatabaseName=database","user","password");

常用方法
?createStatement():創建向數據庫發送 sql 的 Statement 接口類型的對象。
?preparedStatement(sql) :創建向數據庫發送預編譯 sql 的 PrepareSatement 接口類型的

對象。
?prepareCall(sql):創建執行存儲過程的 CallableStatement 接口類型的對象。
?setAutoCommit(booleanautoCommit):設置事務是否自動提交。 ?commit() :在鏈接上提交事務。
?rollback() :在此鏈接上回滾事務。

Statement 接口
用于執行靜態 SQL 語句并返回它所生成結果的對象。 由 createStatement 創建,用于發送簡單的 SQL 語句(不支持動態綁定)。

常用方法

?execute(String sql):執行參數中的 SQL,返回是否有結果集。 ?executeQuery(Stringsql):運行 select 語句,返回 ResultSet 結果集。 ?executeUpdate(Stringsql):運行 insert/update/delete 操作,返回更新的行數。
?addBatch(Stringsql) :把多條 sql 語句放到一個批處理中。 ?executeBatch():向數據庫發送一批 sql 語句執行。

PreparedStatement 接口
繼承自 Statement 接口,由 preparedStatement 創建,用于發送含有一個或多個參數的 SQL 語句。PreparedStatement 對象比 Statement 對象的效率更高,并且可以防止 SQL 注入,所以 我們一般都使用 PreparedStatement。

常用方法

?addBatch()把當前 sql 語句加入到一個批處理中。
?execute() 執行當前 SQL,返回個 boolean 值
?executeUpdate()運行 insert/update/delete 操作,返回更新的行數。
?executeQuery() 執行當前的查詢,返回一個結果集對象
?setDate(intparameterIndex,Date x)向當前SQL語句中的指定位置綁定一個java.sql.Date

值。

? setDouble(int parameterIndex, double x)向當前 SQL 語句中的指定位置綁定一個 double

?setFloat(intparameterIndex,floatx)向當前 SQL 語句中的指定位置綁定一個 float 值
?setInt(intparameterIndex,intx)向當前 SQL 語句中的指定位置綁定一個 int 值
?setString(intparameterIndex,Stringx)向當前 SQL 語句中的指定位置綁定一個 String 值

ResultSet 接口
ResultSet 提供檢索不同類型字段的方法。

常用方法

?getString(intindex)、getString(StringcolumnName) 獲得在數據庫里是 varchar、char 等類型的數據對象。 ?getFloat(intindex)、getFloat(StringcolumnName) 獲得在數據庫里是 Float 類型的數據對象。 ?getDate(intindex)、getDate(StringcolumnName) 獲得在數據庫里是 Date 類型的數據。
?getBoolean(intindex)、getBoolean(StringcolumnName) 獲得在數據庫里是 Boolean 類型的數據。
?getObject(intindex)、getObject(StringcolumnName) 獲取在數據庫里任意類型的數據。

ResultSet 對結果集進行滾動的方法

?next():移動到下一行。
?Previous():移動到前一行。
?absolute(introw):移動到指定行。
?beforeFirst():移動 resultSet 的最前面。
?afterLast() :移動到 resultSet 的最后面。

CallableStatement 接口

繼承自 PreparedStatement 接口,由方法 prepareCall 創建,用于調用數據庫的存儲過程。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女