日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java jdbc 详解_JDBC概述及详解各个对象

發(fā)布時間:2024/9/27 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java jdbc 详解_JDBC概述及详解各个对象 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

JDBC(Java DataBase Connectivity)詳解

一.概念:

JDBC是一種可執(zhí)行SQL語句的JavaAPI,Java數(shù)據(jù)庫鏈接,Java語言操做數(shù)據(jù)庫mysql

二.本質(zhì):

JDBC是一種可用于執(zhí)行SQL語句的Java API,由一些Java語言編寫的類和頁面組成。各個數(shù)據(jù)庫廠商能夠使用這套接口編程,真正執(zhí)行的是驅(qū)動jar包中的實現(xiàn)類。web

三.步驟:

導(dǎo)入驅(qū)動jar包

復(fù)制jar包到項目的libs目錄下

右鍵–>add as library

2.注冊驅(qū)動

3 獲取數(shù)據(jù)庫鏈接對象connection

4.定義sql語句

5.獲取執(zhí)行sql語句的對象Statemen

6.執(zhí)行sql,接受返回結(jié)果

7.處理結(jié)果

8.釋放資源

詳解各個對象

1.DriverManager:驅(qū)動管理對象

方法:static Connection getConnection()

參數(shù):URL:指定鏈接路徑 user:用戶名 password:密碼

語法:jdbc:mysql://ip地址(域名):端口號/數(shù)據(jù)庫名稱

例子:jdbc:mysql://localhost:3306

細(xì)節(jié):若是鏈接的是本機(jī)的服務(wù)器,則可省略數(shù)據(jù)庫的ip地址和端口。

2.Connection:數(shù)據(jù)庫鏈接對象

功能:獲取執(zhí)行sql的對象

createStatement()

JDBC控制事務(wù)

1.事務(wù):一個包含了多個步驟的業(yè)務(wù)操做,若是這個業(yè)務(wù)操做被事務(wù)管理,則這個步驟要么同時成功,要么同時失敗。

2.操做:

(1)開啟事務(wù)setAutocommit(blloean autocommit):調(diào)用該方法設(shè)置參數(shù)為false,即開啟事務(wù)。

(2)提交事務(wù)commmit()

(3) 回滾事務(wù)rollback()

3.使用connection對象來管理事務(wù)sql

3.Statement:執(zhí)行sql的對象

執(zhí)行sql的方法(要注意其不一樣的返回值類型)

(1)boolean execute(String sql):能夠執(zhí)行任意的sql

(2)int executeUpdate(String sql):

*返回值為影響的行數(shù),能夠經(jīng)過影響行數(shù)來判斷DML語句是否執(zhí)行成功,返回值>0則執(zhí)行成功

4.PrepareStatement:執(zhí)行SQL的對象

發(fā)現(xiàn)SQL注入問題:在拼接SQL時,有一些SQL的特殊關(guān)鍵字參與字符串的拼接,會形成安全性問題

解決方法:PrepareStatement繼承于prepareStatement

預(yù)編譯的SQL:參數(shù)使用占位符?數(shù)據(jù)庫

步驟:

1.導(dǎo)入驅(qū)動jar包

2.注冊驅(qū)動

3.獲取數(shù)據(jù)庫對象Connection

4.定義SQL

5.獲取執(zhí)行SQL的對象

6.給?賦值

- 方法:setXxx()

- 參數(shù)一:?的位置編號,從1開始(第?個?)

- 參數(shù)二:?的內(nèi)容,根據(jù)內(nèi)容肯定所使用的方法類型,如若?內(nèi)是int型,則采用的方法是getInt。

7.執(zhí)行SQL,接收返回結(jié)果,不須要sql

8.處理結(jié)果

9,釋放資源

二者關(guān)系:PreparedStatement接口繼承自Statement,繼承了其全部功能,另外還添加了一整套方法,用于發(fā)送設(shè)置給數(shù)據(jù)庫以取代IN參數(shù)占位符。

Statement

PrepareStatement

通用查詢

參數(shù)化查詢

先初始化SQL語句,再提交到數(shù)據(jù)庫中預(yù)處理

從零開始執(zhí)行SQL

定義sql語句

包含的SQL具備一個或多個IN參數(shù),留?做為占位符

執(zhí)行SQL方法時須要傳入SQL語句作參數(shù)

執(zhí)行sql方法無需傳參

相同點:二者均由Connection類對象建立 ,執(zhí)行步驟大自相同。編程

注意:應(yīng)該先編譯SQL語句,再傳遞占位符表明的參數(shù),順序顛倒則報錯安全

5.ResultSet:結(jié)果集對象。封裝查詢結(jié)果

next():游標(biāo)向下移動一行

getXxx():獲取數(shù)據(jù)

*Xxx:表明數(shù)據(jù)類型

*參數(shù):如getInt()

1.int:表明列標(biāo)號,從1開始

2.String:表明列名稱

使用步驟:

1.游標(biāo)向下移動一行

2.判斷是否有數(shù)據(jù)(可t循環(huán)來判斷)

3.獲取數(shù)據(jù)

如上圖,ResultSet經(jīng)過控制循環(huán)來增刪改查服務(wù)器

總結(jié)

以上是生活随笔為你收集整理的java jdbc 详解_JDBC概述及详解各个对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。