JDBC

直接用Java對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作

JDBC(Java DataBase Connectivity,java數(shù)據(jù)庫(kù)連接)是一種用于執(zhí)行SQL語(yǔ)句的Java API,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪(fǎng)問(wèn)取董,它由一組用Java語(yǔ)言編寫(xiě)的類(lèi)和接口組成。JDBC提供了一種基準(zhǔn)兴垦,據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫(kù)開(kāi)發(fā)人員能夠編寫(xiě)數(shù)據(jù)庫(kù)應(yīng)用程序字柠,同時(shí)探越,JDBC也是個(gè)商標(biāo)名。

首先要在maven里導(dǎo)入跟數(shù)據(jù)庫(kù)相連對(duì)jar包
百度搜索 Maven --> mvnrepository --> 輸入搜索mysql


image.png

點(diǎn)擊jar即為我們所需要對(duì)jar包
然后下載下來(lái) 存放到一個(gè)位置


image.png

1)第一個(gè)是DriverManager 她是一個(gè)實(shí)現(xiàn)類(lèi)窑业,是一個(gè)工廠(chǎng)钦幔,我要生成mysql的,我要生成oracle的等等常柄,那就是這個(gè)工廠(chǎng)來(lái)決定生成對(duì)象是什么
2)然后Driver是一個(gè)驅(qū)動(dòng)的接口鲤氢,也就是說(shuō)我得告訴你搀擂,我生成它那我得應(yīng)用什么呀,應(yīng)用我mysql的驅(qū)動(dòng)卷玉,應(yīng)用我oracle的驅(qū)動(dòng)
3)通過(guò)DriverManager進(jìn)行鏈接哨颂,連接到數(shù)據(jù)庫(kù),生成connection對(duì)象
  1. 這個(gè)connection對(duì)象生成之后相种,就可以生成執(zhí)行語(yǔ)句威恼,如果他是一個(gè)查詢(xún)結(jié)果那么可以把這個(gè)結(jié)果放到Resultset結(jié)果集接口里,由他進(jìn)行處理

開(kāi)始實(shí)驗(yàn)

首先在項(xiàng)目里把驅(qū)動(dòng)加進(jìn)來(lái) 也就是jar包


image.png

有以下的東西就表明加進(jìn)來(lái)了


image.png

新建包新建類(lèi) 開(kāi)始測(cè)試連接

package com.neuedu.dataconnection;

import java.sql.*;

public class MysqlConn {
    public static void main(String[] args) {
        /*
        * 1:加載驅(qū)動(dòng)
        * 2:進(jìn)行連接數(shù)據(jù)庫(kù)
        *    1)使用DriverManager進(jìn)行連接
        *    2)生成對(duì)象Connection
        * 3:PareparedStatement對(duì)象執(zhí)行sql
        *  //4:結(jié)果集處理-- 只針對(duì)select的 處理
        *        而對(duì)增刪改不作處理蚂子,返回的是影響的行數(shù) -- 添加沃测,刪除,修改
        *
        *  //5:提交食茎,--使用自動(dòng)提交
        *
        *  //6:關(guān)閉:從內(nèi)向外
        * */
   //1:加載驅(qū)動(dòng)
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

//  2:進(jìn)行連接數(shù)據(jù)庫(kù)

        Connection connection=null;
        PreparedStatement pstm=null;
        ResultSet rs=null;
        /*
        * 1:url: jdbc:mysql://ip:3306/databasename
        *       jdbc:使用jdbc連接數(shù)據(jù)庫(kù)
        *       mysql:連接的mysql的數(shù)據(jù)庫(kù),使用mysql的驅(qū)動(dòng)
        *       IP:數(shù)據(jù)庫(kù)所在的服務(wù)器地址:如果是本地:127.0.0.1|localhost馏谨,如果不是本地IP
        *       3306:端口號(hào)别渔,默認(rèn)
        *       databasename:數(shù)據(jù)庫(kù)名
        *  2:username:數(shù)據(jù)庫(kù)用戶(hù)名
        *  3:password:用戶(hù)名對(duì)應(yīng)的密碼
        * */
        String url="jdbc:mysql://127.0.0.1:3306/hr";
        String username="root";
        String password="123456";
        try {
            connection= DriverManager.getConnection(url,username,password);
           // 3:PreparedStatement對(duì)象執(zhí)行sql
            String sql="select * from employees";
            pstm=connection.prepareStatement(sql);//預(yù)編譯SQL語(yǔ)句
            //4:結(jié)果集處理 只有select用的query,其他的增刪改都用executeUpdate  
          rs = pstm.executeQuery();
//ResultSet相當(dāng)于把查詢(xún)出來(lái)的所有數(shù)據(jù)放到了表格里面惧互,然后它一行一行的讀 提取數(shù)據(jù)
         while(rs.next()){  
//通過(guò)列名列號(hào)都可以把數(shù)據(jù)提取出來(lái)
             System.out.println(rs.getObject(1)+"   "+rs.getObject("salary"));
         }
         //5:自動(dòng)提交
            /* System.out.println(connection);*/
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            //6:關(guān)閉
            try {
                if(rs!=null){

                    rs.close();

                  }
                  if(pstm!=null){
                    pstm.close();
                  }

                  if(connection!=null){
                    connection.close();
                  }
        } catch (SQLException e) {
            e.printStackTrace();
        }

        }

    }
}

測(cè)試成功如下:


image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末哎媚,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子喊儡,更是在濱河造成了極大的恐慌拨与,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件艾猜,死亡現(xiàn)場(chǎng)離奇詭異买喧,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)匆赃,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門(mén)淤毛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人算柳,你說(shuō)我怎么就攤上這事低淡。” “怎么了瞬项?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵蔗蹋,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我囱淋,道長(zhǎng)猪杭,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任绎橘,我火速辦了婚禮胁孙,結(jié)果婚禮上唠倦,老公的妹妹穿的比我還像新娘。我一直安慰自己涮较,他們只是感情好稠鼻,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著狂票,像睡著了一般候齿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上闺属,一...
    開(kāi)封第一講書(shū)人閱讀 51,763評(píng)論 1 307
  • 那天慌盯,我揣著相機(jī)與錄音,去河邊找鬼掂器。 笑死亚皂,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的国瓮。 我是一名探鬼主播灭必,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼乃摹!你這毒婦竟也來(lái)了禁漓?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤孵睬,失蹤者是張志新(化名)和其女友劉穎播歼,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體掰读,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡秘狞,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了磷支。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谒撼。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖雾狈,靈堂內(nèi)的尸體忽然破棺而出廓潜,到底是詐尸還是另有隱情,我是刑警寧澤善榛,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布辩蛋,位于F島的核電站,受9級(jí)特大地震影響移盆,放射性物質(zhì)發(fā)生泄漏悼院。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一咒循、第九天 我趴在偏房一處隱蔽的房頂上張望据途。 院中可真熱鬧绞愚,春花似錦、人聲如沸颖医。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)熔萧。三九已至糖驴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間佛致,已是汗流浹背贮缕。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留俺榆,地道東北人感昼。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像罐脊,于是被迫代替她去往敵國(guó)和親抑诸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一奸绷、 JDBC概述 JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫(kù)連接)是一種用...
    圣賢與無(wú)賴(lài)閱讀 468評(píng)論 0 0
  • 本文主要內(nèi)容 1梗夸、JDBC 2、DBUtils 01JDBC概念和數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序 A: JDBC概念和數(shù)據(jù)庫(kù)驅(qū)動(dòng)程...
    勝浩_ae28閱讀 399評(píng)論 0 0
  • 以下我是歸納的JDBC知識(shí)點(diǎn)圖: 圖上的知識(shí)點(diǎn)都可以在我其他的文章內(nèi)找到相應(yīng)內(nèi)容号醉。 JDBC常見(jiàn)面試題 JDBC操...
    Java3y閱讀 1,732評(píng)論 0 15
  • JDBC簡(jiǎn)介 SUN公司為了簡(jiǎn)化反症、統(tǒng)一對(duì)數(shù)據(jù)庫(kù)的操作,定義了一套Java操作數(shù)據(jù)庫(kù)的規(guī)范畔派,稱(chēng)之為JDBC铅碍。JDBC...
    奮斗的老王閱讀 1,518評(píng)論 0 51
  • 1月初芒市教育局下發(fā)文件后胞谈,抱著試試看的心態(tài)提交了材料,2月微信上吳虹校長(zhǎng)給我發(fā)來(lái)了一份特殊的錄取通知書(shū)憨愉,學(xué)員...
    N1252楊紅梅閱讀 119評(píng)論 0 2