什么是JDBC?為什么要使用JDBC?
1. JDBC
- JDBC是Java DataBase Connectivity的縮寫,即Java程序訪問數(shù)據(jù)庫的標(biāo)準(zhǔn)接口
- 使用Java程序訪問數(shù)據(jù)庫時(shí),通過JDBC接口來訪問JDBC驅(qū)動來實(shí)現(xiàn)對數(shù)據(jù)庫的操作
- JDBC接口是Java標(biāo)準(zhǔn)庫自帶的,可以直接編譯;JDBC驅(qū)動是數(shù)據(jù)庫廠商提供的。因此,訪問某個具體的數(shù)據(jù)庫,只需要引入該廠商提供的JDBC驅(qū)動,就可以通過JDBC接口來訪問
#mermaid-svg-TSHn85osUpwC0sfG .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-TSHn85osUpwC0sfG .label text{fill:#333}#mermaid-svg-TSHn85osUpwC0sfG .node rect,#mermaid-svg-TSHn85osUpwC0sfG .node circle,#mermaid-svg-TSHn85osUpwC0sfG .node ellipse,#mermaid-svg-TSHn85osUpwC0sfG .node polygon,#mermaid-svg-TSHn85osUpwC0sfG .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-TSHn85osUpwC0sfG .node .label{text-align:center;fill:#333}#mermaid-svg-TSHn85osUpwC0sfG .node.clickable{cursor:pointer}#mermaid-svg-TSHn85osUpwC0sfG .arrowheadPath{fill:#333}#mermaid-svg-TSHn85osUpwC0sfG .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-TSHn85osUpwC0sfG .flowchart-link{stroke:#333;fill:none}#mermaid-svg-TSHn85osUpwC0sfG .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-TSHn85osUpwC0sfG .edgeLabel rect{opacity:0.9}#mermaid-svg-TSHn85osUpwC0sfG .edgeLabel span{color:#333}#mermaid-svg-TSHn85osUpwC0sfG .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-TSHn85osUpwC0sfG .cluster text{fill:#333}#mermaid-svg-TSHn85osUpwC0sfG div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-TSHn85osUpwC0sfG .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-TSHn85osUpwC0sfG text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-TSHn85osUpwC0sfG .actor-line{stroke:grey}#mermaid-svg-TSHn85osUpwC0sfG .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-TSHn85osUpwC0sfG .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-TSHn85osUpwC0sfG #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-TSHn85osUpwC0sfG .sequenceNumber{fill:#fff}#mermaid-svg-TSHn85osUpwC0sfG #sequencenumber{fill:#333}#mermaid-svg-TSHn85osUpwC0sfG #crosshead path{fill:#333;stroke:#333}#mermaid-svg-TSHn85osUpwC0sfG .messageText{fill:#333;stroke:#333}#mermaid-svg-TSHn85osUpwC0sfG .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-TSHn85osUpwC0sfG .labelText,#mermaid-svg-TSHn85osUpwC0sfG .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-TSHn85osUpwC0sfG .loopText,#mermaid-svg-TSHn85osUpwC0sfG .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-TSHn85osUpwC0sfG .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-TSHn85osUpwC0sfG .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-TSHn85osUpwC0sfG .noteText,#mermaid-svg-TSHn85osUpwC0sfG .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-TSHn85osUpwC0sfG .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-TSHn85osUpwC0sfG .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-TSHn85osUpwC0sfG .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-TSHn85osUpwC0sfG .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-TSHn85osUpwC0sfG .section{stroke:none;opacity:0.2}#mermaid-svg-TSHn85osUpwC0sfG .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-TSHn85osUpwC0sfG .section2{fill:#fff400}#mermaid-svg-TSHn85osUpwC0sfG .section1,#mermaid-svg-TSHn85osUpwC0sfG .section3{fill:#fff;opacity:0.2}#mermaid-svg-TSHn85osUpwC0sfG .sectionTitle0{fill:#333}#mermaid-svg-TSHn85osUpwC0sfG .sectionTitle1{fill:#333}#mermaid-svg-TSHn85osUpwC0sfG .sectionTitle2{fill:#333}#mermaid-svg-TSHn85osUpwC0sfG .sectionTitle3{fill:#333}#mermaid-svg-TSHn85osUpwC0sfG .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-TSHn85osUpwC0sfG .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-TSHn85osUpwC0sfG .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-TSHn85osUpwC0sfG .grid path{stroke-width:0}#mermaid-svg-TSHn85osUpwC0sfG .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-TSHn85osUpwC0sfG .task{stroke-width:2}#mermaid-svg-TSHn85osUpwC0sfG .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-TSHn85osUpwC0sfG .taskText:not([font-size]){font-size:11px}#mermaid-svg-TSHn85osUpwC0sfG .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-TSHn85osUpwC0sfG .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-TSHn85osUpwC0sfG .task.clickable{cursor:pointer}#mermaid-svg-TSHn85osUpwC0sfG .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-TSHn85osUpwC0sfG .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-TSHn85osUpwC0sfG .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-TSHn85osUpwC0sfG .taskText0,#mermaid-svg-TSHn85osUpwC0sfG .taskText1,#mermaid-svg-TSHn85osUpwC0sfG .taskText2,#mermaid-svg-TSHn85osUpwC0sfG .taskText3{fill:#fff}#mermaid-svg-TSHn85osUpwC0sfG .task0,#mermaid-svg-TSHn85osUpwC0sfG .task1,#mermaid-svg-TSHn85osUpwC0sfG .task2,#mermaid-svg-TSHn85osUpwC0sfG .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-TSHn85osUpwC0sfG .taskTextOutside0,#mermaid-svg-TSHn85osUpwC0sfG .taskTextOutside2{fill:#000}#mermaid-svg-TSHn85osUpwC0sfG .taskTextOutside1,#mermaid-svg-TSHn85osUpwC0sfG .taskTextOutside3{fill:#000}#mermaid-svg-TSHn85osUpwC0sfG .active0,#mermaid-svg-TSHn85osUpwC0sfG .active1,#mermaid-svg-TSHn85osUpwC0sfG .active2,#mermaid-svg-TSHn85osUpwC0sfG .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-TSHn85osUpwC0sfG .activeText0,#mermaid-svg-TSHn85osUpwC0sfG .activeText1,#mermaid-svg-TSHn85osUpwC0sfG .activeText2,#mermaid-svg-TSHn85osUpwC0sfG .activeText3{fill:#000 !important}#mermaid-svg-TSHn85osUpwC0sfG .done0,#mermaid-svg-TSHn85osUpwC0sfG .done1,#mermaid-svg-TSHn85osUpwC0sfG .done2,#mermaid-svg-TSHn85osUpwC0sfG .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-TSHn85osUpwC0sfG .doneText0,#mermaid-svg-TSHn85osUpwC0sfG .doneText1,#mermaid-svg-TSHn85osUpwC0sfG .doneText2,#mermaid-svg-TSHn85osUpwC0sfG .doneText3{fill:#000 !important}#mermaid-svg-TSHn85osUpwC0sfG .crit0,#mermaid-svg-TSHn85osUpwC0sfG .crit1,#mermaid-svg-TSHn85osUpwC0sfG .crit2,#mermaid-svg-TSHn85osUpwC0sfG .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-TSHn85osUpwC0sfG .activeCrit0,#mermaid-svg-TSHn85osUpwC0sfG .activeCrit1,#mermaid-svg-TSHn85osUpwC0sfG .activeCrit2,#mermaid-svg-TSHn85osUpwC0sfG .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-TSHn85osUpwC0sfG .doneCrit0,#mermaid-svg-TSHn85osUpwC0sfG .doneCrit1,#mermaid-svg-TSHn85osUpwC0sfG .doneCrit2,#mermaid-svg-TSHn85osUpwC0sfG .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-TSHn85osUpwC0sfG .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-TSHn85osUpwC0sfG .milestoneText{font-style:italic}#mermaid-svg-TSHn85osUpwC0sfG .doneCritText0,#mermaid-svg-TSHn85osUpwC0sfG .doneCritText1,#mermaid-svg-TSHn85osUpwC0sfG .doneCritText2,#mermaid-svg-TSHn85osUpwC0sfG .doneCritText3{fill:#000 !important}#mermaid-svg-TSHn85osUpwC0sfG .activeCritText0,#mermaid-svg-TSHn85osUpwC0sfG .activeCritText1,#mermaid-svg-TSHn85osUpwC0sfG .activeCritText2,#mermaid-svg-TSHn85osUpwC0sfG .activeCritText3{fill:#000 !important}#mermaid-svg-TSHn85osUpwC0sfG .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-TSHn85osUpwC0sfG g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-TSHn85osUpwC0sfG g.classGroup text .title{font-weight:bolder}#mermaid-svg-TSHn85osUpwC0sfG g.clickable{cursor:pointer}#mermaid-svg-TSHn85osUpwC0sfG g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-TSHn85osUpwC0sfG g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-TSHn85osUpwC0sfG .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-TSHn85osUpwC0sfG .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-TSHn85osUpwC0sfG .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-TSHn85osUpwC0sfG .dashed-line{stroke-dasharray:3}#mermaid-svg-TSHn85osUpwC0sfG #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-TSHn85osUpwC0sfG #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-TSHn85osUpwC0sfG #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-TSHn85osUpwC0sfG #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-TSHn85osUpwC0sfG #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-TSHn85osUpwC0sfG #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-TSHn85osUpwC0sfG #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-TSHn85osUpwC0sfG #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-TSHn85osUpwC0sfG .commit-id,#mermaid-svg-TSHn85osUpwC0sfG .commit-msg,#mermaid-svg-TSHn85osUpwC0sfG .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-TSHn85osUpwC0sfG .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-TSHn85osUpwC0sfG .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-TSHn85osUpwC0sfG g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-TSHn85osUpwC0sfG g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-TSHn85osUpwC0sfG g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-TSHn85osUpwC0sfG g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-TSHn85osUpwC0sfG g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-TSHn85osUpwC0sfG g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-TSHn85osUpwC0sfG .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-TSHn85osUpwC0sfG .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-TSHn85osUpwC0sfG .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-TSHn85osUpwC0sfG .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-TSHn85osUpwC0sfG .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-TSHn85osUpwC0sfG .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-TSHn85osUpwC0sfG .edgeLabel text{fill:#333}#mermaid-svg-TSHn85osUpwC0sfG .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-TSHn85osUpwC0sfG .node circle.state-start{fill:black;stroke:black}#mermaid-svg-TSHn85osUpwC0sfG .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-TSHn85osUpwC0sfG #statediagram-barbEnd{fill:#9370db}#mermaid-svg-TSHn85osUpwC0sfG .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-TSHn85osUpwC0sfG .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-TSHn85osUpwC0sfG .statediagram-state .divider{stroke:#9370db}#mermaid-svg-TSHn85osUpwC0sfG .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-TSHn85osUpwC0sfG .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-TSHn85osUpwC0sfG .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-TSHn85osUpwC0sfG .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-TSHn85osUpwC0sfG .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-TSHn85osUpwC0sfG .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-TSHn85osUpwC0sfG .note-edge{stroke-dasharray:5}#mermaid-svg-TSHn85osUpwC0sfG .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-TSHn85osUpwC0sfG .error-icon{fill:#522}#mermaid-svg-TSHn85osUpwC0sfG .error-text{fill:#522;stroke:#522}#mermaid-svg-TSHn85osUpwC0sfG .edge-thickness-normal{stroke-width:2px}#mermaid-svg-TSHn85osUpwC0sfG .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-TSHn85osUpwC0sfG .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-TSHn85osUpwC0sfG .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-TSHn85osUpwC0sfG .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-TSHn85osUpwC0sfG .marker{fill:#333}#mermaid-svg-TSHn85osUpwC0sfG .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-TSHn85osUpwC0sfG {color: rgba(0, 0, 0, 0.75);font: ;}
Java AppJDBC InterfaceJDBC DriverDataBase
- MySQL還有其他數(shù)據(jù)庫的JDBC驅(qū)動就是我們常說的jar包,jar包也是用Java編寫的,我們編寫的代碼只需要引入Java標(biāo)準(zhǔn)庫提供的java.sql包下面的相關(guān)接口,由此再間接地通過MySQL驅(qū)動jar包通過網(wǎng)絡(luò)訪問MySQL服務(wù)器,所有復(fù)雜地網(wǎng)絡(luò)通訊都被封裝到JDBC驅(qū)動中,所以運(yùn)行Java程序只需要引入有關(guān)數(shù)據(jù)庫地jar包就可以正常訪問MySQL服務(wù)器了
2. JDBC的好處
- 各數(shù)據(jù)庫廠商使用相同的接口 ,Java代碼不需要針對不同的數(shù)據(jù)庫分別開發(fā)
- Java程序編譯依賴于java.sql包,不依賴于具體數(shù)據(jù)庫的jar包
- 可以隨時(shí)替換底層數(shù)據(jù)庫,訪問數(shù)據(jù)庫的Java代碼基本不變
以下總結(jié)內(nèi)容,來自視頻
https://www.bilibili.com/video/BV1BJ411L7NR/?p=24
3.JDBC體系結(jié)構(gòu)
JDBC接口包括兩個層面:
- 面向應(yīng)用的API,供程序員調(diào)用
- 面向數(shù)據(jù)庫的API,供廠商開發(fā)數(shù)據(jù)庫的驅(qū)動程序
JDBC API
提供者:Java官方
內(nèi)容:供開發(fā)者調(diào)用的接口
java.sql和javax.sql
- DriverManager類
- Connection接口
- Statement接口
- ResultSet接口
DriverManager
提供者:Java官方
作用:管理不同的JDBC驅(qū)動
JDBC驅(qū)動
提供者:數(shù)據(jù)庫廠商
作用:負(fù)責(zé)連接不同的數(shù)據(jù)庫
4.JDBC的使用
加載數(shù)據(jù)庫驅(qū)動,Java程序和數(shù)據(jù)庫之間的橋梁獲取Connection,Java程序與數(shù)據(jù)庫的一次連接創(chuàng)建Statement對象,由Connection對象產(chǎn)生,執(zhí)行SQL語句如果需要接收返回值,就需要創(chuàng)建ResultSet對象,保存Statement對象執(zhí)行SQL語句查詢之后的結(jié)果
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎
總結(jié)
以上是生活随笔為你收集整理的对于JDBC的简单理解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。