本文以java連接mysql為例講解;僅僅記錄了一部分知識(shí)點(diǎn),其余我還沒(méi)學(xué)完,后面會(huì)補(bǔ)充!初學(xué)JDBC文章僅僅是我個(gè)人對(duì)知識(shí)點(diǎn)的理解,請(qǐng)謹(jǐn)慎參考!
目錄
Java連接數(shù)據(jù)庫(kù)前期工作:
JDBC程序編寫步驟總覽
?JDBC編程的六步:
1,注冊(cè)驅(qū)動(dòng) ?
2,獲得連接 ?
3,獲得數(shù)據(jù)庫(kù)操作對(duì)象 ?
4,執(zhí)行sql 語(yǔ)句
5,處理查詢結(jié)果集
6,釋放資源 ?
Java連接數(shù)據(jù)庫(kù)前期工作:
????????我們java是使用JDBC連接任何提供了JDBC驅(qū)動(dòng)程序的數(shù)據(jù)庫(kù)系統(tǒng)(市面上常見(jiàn)的數(shù)據(jù)庫(kù)都實(shí)現(xiàn)了)所以我么需要先下載對(duì)應(yīng)的JDBC ,
MySQL_JDBC的下載網(wǎng)站:MySQL :: Download Connector/J
?下載之后,解壓到一個(gè)文件夾;(項(xiàng)目前期要導(dǎo)入jar包就在這個(gè)文件夾里面)
?然后新建工程,導(dǎo)入jar包,詳細(xì)過(guò)程可以參考:?jiǎn)袅▎袅ê隈R的這個(gè)課程,新建工程、導(dǎo)包在第一集的第15分鐘處左右,
JDBC程序編寫步驟總覽
?綜上圖,可分析得,步驟可分六步;
?JDBC編程的六步:
1,加載和注冊(cè)驅(qū)動(dòng) ?
疑惑:我們?yōu)槭裁匆?cè)驅(qū)動(dòng)啊?驅(qū)動(dòng)又是什么?
解釋:
- 我們目的是讓java連接mysql數(shù)據(jù)庫(kù),然而市面上有很多種數(shù)據(jù)庫(kù),jdbc是如何知道我們要連接的是mysql數(shù)據(jù)庫(kù)呢?這也就是為什么要注冊(cè)驅(qū)動(dòng),我們就是要告訴java要連接什么數(shù)據(jù)庫(kù);
- 驅(qū)動(dòng)實(shí)際是一些后綴名為.class的類文件,我們?cè)谶B接數(shù)據(jù)庫(kù)時(shí)會(huì)用到,對(duì)于mysql數(shù)據(jù)庫(kù)來(lái)說(shuō),驅(qū)動(dòng)就是com.mysql.cj.jdbc.Driver類;
2,獲得連接 ?
疑惑:我們?yōu)槭裁匆@取連接?又如何獲取連接?獲取連接需要什么?
解釋:
- 我們?cè)诟嬖V了java我們要連接的是哪款數(shù)據(jù)庫(kù)之后,我們要操作數(shù)據(jù)庫(kù),那么操作數(shù)據(jù)庫(kù)的命令如何從idea傳到數(shù)據(jù)庫(kù)里面呢?數(shù)據(jù)庫(kù)如何知道我們要操作那些數(shù)據(jù)呢?這時(shí)就需要獲取連接,表示JVM的進(jìn)程與數(shù)據(jù)庫(kù)之間的通道打開,也可以理解為獲取連接也就是開通一個(gè)命令交互的通道;
- 使用?DriverManager.getConnection?方法來(lái)建立與 MySQL 服務(wù)器的連接;
- 通過(guò)源碼可知,需要主機(jī)名(對(duì)應(yīng)服務(wù)端的ip地址),端口號(hào),數(shù)據(jù)庫(kù)名等;
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test");
3,獲得數(shù)據(jù)庫(kù)操作對(duì)象 ?
(它專門執(zhí)行sql語(yǔ)句的對(duì)象)我們使用Statement對(duì)象也可以獲得數(shù)據(jù)庫(kù)操作對(duì)象,但是使用Statement會(huì)伴隨著sql注入問(wèn)題,但是使用PreparedStatemen就會(huì)避免sql注入;
PreparedStatement ps = conn.prepareStatement(sql);
4,執(zhí)行sql 語(yǔ)句
我們通過(guò)調(diào)用PreparedStatement中的方法execute,可以執(zhí)行sql語(yǔ)句;
ps.execute();
5,處理查詢結(jié)果集
?(只有執(zhí)行select 語(yǔ)句才有的步驟)文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-473765.html
6,釋放資源 ?
(使用完后,一定要關(guān)閉)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-473765.html
finally {
//關(guān)閉資源
try {
conn.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
try {
ps.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
到了這里,關(guān)于【JDBC篇】java 如何連接數(shù)據(jù)庫(kù)(超詳細(xì)步驟)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!