黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 JDBC連接MySQL數(shù)據(jù)庫(kù)的視頻教程

JDBC連接MySQL數(shù)據(jù)庫(kù)的視頻教程

更新時(shí)間:2021-01-27 17:08:03 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1279次

JDBC(Java Database Connectivity)提供了一種與平臺(tái)無(wú)關(guān)的用于執(zhí)行SQL語(yǔ)句的標(biāo)準(zhǔn)Java API,可以方便地實(shí)現(xiàn)多種關(guān)系型數(shù)據(jù)庫(kù)的統(tǒng)一操作,它由一組用Java語(yǔ)言編寫的接口和類組成JDBC本身提供的是一套數(shù)據(jù)庫(kù)操作標(biāo)準(zhǔn),而這些標(biāo)準(zhǔn)又需要數(shù)據(jù)庫(kù)廠商實(shí)現(xiàn),所以針對(duì)每一個(gè)數(shù)據(jù)庫(kù)廠商都會(huì)提供一個(gè)JDBC驅(qū)動(dòng)程序,目前比較常見的JDBC驅(qū)動(dòng)程序可分為以下4類:

jdbc連接數(shù)據(jù)庫(kù)視頻


JDBC-ODBC橋驅(qū)動(dòng)。直接利用微軟的ODBC(Open Database Connectivity)進(jìn)行數(shù)據(jù)庫(kù)的連接操作,但是這種操作性能較低。
JDBC本地驅(qū)動(dòng)。直接使用各個(gè)數(shù)據(jù)庫(kù)生產(chǎn)商提供的JDBC驅(qū)動(dòng)程序,但是因?yàn)槠渲荒軕?yīng)用在特定的數(shù)據(jù)庫(kù)上,會(huì)喪失程序的可移植性,不過(guò)這樣操作的性能較高。
JDBC網(wǎng)絡(luò)驅(qū)動(dòng)。將JDBC轉(zhuǎn)換為與DBMS無(wú)關(guān)的網(wǎng)絡(luò)協(xié)議,之后又被某個(gè)服務(wù)器轉(zhuǎn)換為一種DBMS協(xié)議。這種網(wǎng)絡(luò)服務(wù)器中間件能夠?qū)⑺募僇ava客戶機(jī)連接到多種不同的數(shù)據(jù)庫(kù)上,所用的具體協(xié)議取決于提供者。通常,這是最靈活的JDBC驅(qū)動(dòng)程序。
本地協(xié)議純JDBC驅(qū)動(dòng)。將JDBC調(diào)用直接轉(zhuǎn)換為DBMS所使用的網(wǎng)絡(luò)協(xié)議。這將允許從客戶機(jī)器上直接調(diào)用DBMS服務(wù)器。

MySQL數(shù)據(jù)庫(kù)
MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。在MySQL官網(wǎng)下載安裝包,安裝好之后配置好環(huán)境變量就可以使用了。
MySQL常用命令

連接MySQL數(shù)據(jù)庫(kù) mysql -u 用戶名 -p;然后輸入密碼
創(chuàng)建數(shù)據(jù)庫(kù) create database 數(shù)據(jù)庫(kù)名稱
刪除數(shù)據(jù)庫(kù) drop database 數(shù)據(jù)庫(kù)名稱
使用數(shù)據(jù)庫(kù) use 數(shù)據(jù)庫(kù)名稱
創(chuàng)建數(shù)據(jù)庫(kù)表 create table 表名稱(字段名稱 字段類型 默認(rèn)值 約束)
刪除數(shù)據(jù)庫(kù)表 drop table 表名稱
查看表結(jié)構(gòu) desc 表名稱
查看全部數(shù)據(jù)庫(kù) show databases
查看一個(gè)數(shù)據(jù)庫(kù)的全部表 show tables

SQL語(yǔ)法基礎(chǔ)
SQL(Structured Query Language,結(jié)構(gòu)查詢語(yǔ)言)是一個(gè)功能強(qiáng)大的數(shù)據(jù)庫(kù)語(yǔ)言。SQL通常用于與數(shù)據(jù)庫(kù)的通信。SQL功能強(qiáng)大,概括起來(lái)可以分成以下幾組:DML(Data Manipulation Language,數(shù)據(jù)操作語(yǔ)言),用于檢索或者修改數(shù)據(jù);DDL(Data Definition Language,數(shù)據(jù)定義語(yǔ)言),用于定義數(shù)據(jù)的結(jié)構(gòu),如創(chuàng)建、修改或者刪除數(shù)據(jù)庫(kù)對(duì)象;DCL(Data Control Language,數(shù)據(jù)控制語(yǔ)言),用于定義數(shù)據(jù)庫(kù)用戶的權(quán)限。

SQL常用語(yǔ)法

增加數(shù)據(jù) insert into 表名稱【(字段1,字段2,……,字段n)】 values(值1,值2,……,值n);(【】表示可選項(xiàng))
刪除數(shù)據(jù) delete from 表名稱 【刪除條件】
更新數(shù)據(jù) update 表名稱 set 字段1=值1,……,字段n=值n 【where 更新條件】
查詢數(shù)據(jù)

select {*|column alias}

from 表名稱 別名

【where 條件】

【limit 開始行,取出的數(shù)據(jù)個(gè)數(shù)】

需要注意的是,在增加數(shù)據(jù)時(shí),如果是字符串,則一定要用“‘”括起來(lái);如果是日期,則按照標(biāo)準(zhǔn)的日期格式進(jìn)行插入(MySQL中的日期使用yyyy-mm-dd的格式保存,所以在插入數(shù)據(jù)時(shí),必須按照此種格式插入)。
在刪除數(shù)據(jù)時(shí),最好指定刪除的條件,如果沒有指定,則表示刪除一張表中的全部數(shù)據(jù)。
與刪除語(yǔ)句一樣,修改時(shí)也需要指定修改條件,否則數(shù)據(jù)表的全部記錄都將被修改。

連接數(shù)據(jù)庫(kù)
要使用MySQL數(shù)據(jù)庫(kù)進(jìn)行開發(fā),首先去官網(wǎng)下載驅(qū)動(dòng),然后將MySQL數(shù)據(jù)庫(kù)的驅(qū)動(dòng)程序配置到classpath中。
加載數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序是JDBC操作的第一步,由于已經(jīng)將數(shù)據(jù)庫(kù)的驅(qū)動(dòng)程序直接配置到了classpath中,所以,此時(shí)可以直接進(jìn)行加載。MySQL中的數(shù)據(jù)庫(kù)驅(qū)動(dòng)路徑是com.mysql.jdbc.Driver。得到驅(qū)動(dòng)程序路徑之后,即可利用Class類進(jìn)行驅(qū)動(dòng)程序的加載。
連接及關(guān)閉數(shù)據(jù)庫(kù)。如果數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序可以正常加載,就可以利用DriverManager類連接數(shù)據(jù)庫(kù)。在DriverManager中,提供的主要操作就是得到一個(gè)數(shù)據(jù)庫(kù)的連接,getConnection()方法就是取得連接對(duì)象,此方法返回的是Connection對(duì)象,不管使用哪種方式連接,都必須提供一個(gè)數(shù)據(jù)庫(kù)的連接地址。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ExampleDatabase {
    //定義MySQL的數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序
    public static final String DBDRIVER = "com.mysql.jdbc.Driver";
    //定義MySQL數(shù)據(jù)庫(kù)的連接地址
    public static final String DBURL = "jdbc:mysql://localhost:3306/test";
    //MySQL數(shù)據(jù)庫(kù)的連接用戶名
    public static final String DBUSER = "root";
    //MySQL數(shù)據(jù)庫(kù)的連接密碼
    public static final String DBPASS = "root";
    public static void main(String[] args) {
        Connection con = null;
        try {
            //加載驅(qū)動(dòng)程序
            Class.forName(DBDRIVER);
        }
        catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        try {
            //連接MySQL數(shù)據(jù)庫(kù)時(shí),要寫上連接的用戶名和密碼
            con = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
        System.out.println(con);
        try {
            //關(guān)閉數(shù)據(jù)庫(kù)
            con.close();
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

執(zhí)行數(shù)據(jù)庫(kù)的更新操作
數(shù)據(jù)庫(kù)連接后,就可以進(jìn)行數(shù)據(jù)庫(kù)的具體操作,要使用Statement接口完成,此接口可以使用Connection接口中提供的createStatement()方法實(shí)例化。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class ExampleDatabase {
    //定義MySQL的數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序
    public static final String DBDRIVER = "com.mysql.jdbc.Driver";
    //定義MySQL數(shù)據(jù)庫(kù)的連接地址
    public static final String DBURL = "jdbc:mysql://localhost:3306/test";
    //MySQL數(shù)據(jù)庫(kù)的連接用戶名
    public static final String DBUSER = "root";
    //MySQL數(shù)據(jù)庫(kù)的連接密碼
    public static final String DBPASS = "root";
    public static void main(String[] args) {
        Connection con = null;
        Statement stmt = null;
        //數(shù)據(jù)庫(kù)插入語(yǔ)句
        String insertSQL = "insert into user (id, name, age) values (3, 'key', 23)";
        //數(shù)據(jù)庫(kù)修改語(yǔ)句
        String alterSQL = "update user SET name='jon' where id=8";
        //數(shù)據(jù)庫(kù)刪除語(yǔ)句
        String deleteSQL = "delete from user where id=5";
        try {
            //加載驅(qū)動(dòng)程序
            Class.forName(DBDRIVER);
        }
        catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        try {
            //連接MySQL數(shù)據(jù)庫(kù)時(shí),要寫上連接的用戶名和密碼
            con = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
            //實(shí)例化Statement對(duì)象
            stmt = con.createStatement();
            //執(zhí)行數(shù)據(jù)庫(kù)更新操作
            stmt.executeUpdate(insertSQL);
            stmt.executeUpdate(alterSQL);
            stmt.executeUpdate(deleteSQL);
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
        System.out.println(con);
        try {
            //關(guān)閉操作
            stmt.close();
            //關(guān)閉數(shù)據(jù)庫(kù)
            con.close();
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

數(shù)據(jù)庫(kù)查詢操作
使用SQL的select語(yǔ)句可以查詢出數(shù)據(jù)庫(kù)的全部結(jié)果,在JDBC的操作中數(shù)據(jù)庫(kù)的所有查詢記錄將使用ResultSet進(jìn)行接收,并使用ResultSet顯示內(nèi)容。要進(jìn)行數(shù)據(jù)庫(kù)查詢操作,需要使用Statement接口定義的executeQuery()方法,此方法返回值類型就是一個(gè)ResultSet的對(duì)象,此對(duì)象中存放了所有的查詢結(jié)果。

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;

public class ExampleDatabase {
    //定義MySQL的數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序
    public static final String DBDRIVER = "com.mysql.jdbc.Driver";
    //定義MySQL數(shù)據(jù)庫(kù)的連接地址
    public static final String DBURL = "jdbc:mysql://localhost:3306/test";
    //MySQL數(shù)據(jù)庫(kù)的連接用戶名
    public static final String DBUSER = "root";
    //MySQL數(shù)據(jù)庫(kù)的連接密碼
    public static final String DBPASS = "root";
    public static void main(String[] args) {
        Connection con = null;
        Statement stmt = null;
        ResultSet rs = null;
        //數(shù)據(jù)庫(kù)查詢語(yǔ)句
        String sql = "select id , name, age from user";
        try {
            //加載驅(qū)動(dòng)程序
            Class.forName(DBDRIVER);
        }
        catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        try {
            //連接MySQL數(shù)據(jù)庫(kù)時(shí),要寫上連接的用戶名和密碼
            con = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
            //實(shí)例化Statement對(duì)象
            stmt = con.createStatement();
            //執(zhí)行數(shù)據(jù)庫(kù)查詢操作
            rs = stmt.executeQuery(sql);
            while (rs.next()) {
                int id = rs.getInt("id");
                String name = rs.getString(2);
                int age = rs.getInt("age");
                System.out.print("id:" + id + " ");
                System.out.print("name:" + name + " ");
                System.out.println("age:" + age);
            }
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
        System.out.println(con);
        try {
            //關(guān)閉結(jié)果集
            rs.close();
            //關(guān)閉操作
            stmt.close();
            //關(guān)閉數(shù)據(jù)庫(kù)
            con.close();
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

ResultSet中的所有數(shù)據(jù)都可以通過(guò)getString()方法獲得。
PreparedStatement
PreparedStatement是Statement的子接口,屬于預(yù)處理操作。與直接使用Statement不同的是,PreparedStatement在操作時(shí),是先在數(shù)據(jù)表中準(zhǔn)備好了一條SQL語(yǔ)句,但是此SQL語(yǔ)句的具體內(nèi)容暫時(shí)不設(shè)置,而是之后再進(jìn)行設(shè)置。由于PreparedStatement對(duì)象已預(yù)編譯過(guò),所以其執(zhí)行速度要高于Statement對(duì)象。在開發(fā)中不建議使用Statement,而是使用PreparedStatement。

Java視頻學(xué)習(xí):
動(dòng)力節(jié)點(diǎn)Java JDBC視頻教程,本套視頻教程中講解了Java語(yǔ)言如何連接數(shù)據(jù)庫(kù),對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行增刪改查操作,適合于已經(jīng)學(xué)習(xí)過(guò)Java編程基礎(chǔ)以及數(shù)據(jù)庫(kù)的同學(xué)。Java教程中闡述了接口在開發(fā)中的真正作用,JDBC規(guī)范制定的背景,JDBC編程六部曲,JDBC事務(wù),JDBC批處理,SQL注入,行級(jí)鎖等。

以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“JDBC連接MySQL數(shù)據(jù)庫(kù)的視頻教程”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。

 

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

  • 全國(guó)校區(qū) 2025-05-15 搶座中
  • 全國(guó)校區(qū) 2025-06-05 搶座中
  • 全國(guó)校區(qū) 2025-06-26 搶座中
免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 精品欧美一区二区在线观看 | 777成了人乱视频 | 99在线免费播放 | 国产亚洲欧美日韩在线一区 | 免费成人看片 | 欧美二级| 日韩第四页 | 一级黄色大片免费观看 | 成人羞羞视频免费看看 | yjizz国产在线视频网 | 色福利网| 图片区亚洲色图 | 国产99热99 | 婷婷久久综合网 | 国产剧情一区二区 | 国产一区二区中文字幕 | 国产一区二区三区免费播放 | 香蕉视频污视频 | 国产成人精品一区二区三区 | 欧美午夜性春 | 韩国午夜伦理 | 国产成人19禁在线观看 | 国产一区二区视频在线 | 免费aa视频 | 亚洲人成一区二区三区 | 情人边吃奶边做好爽嗷嗷叫 | 午夜剧场在线免费观看 | 色视频免费| 亚洲第一免费 | 天天舔天天色 | 看片网站免费 | 欧美国产精品不卡在线观看 | 日韩一级黄色录像 | 欧美青青草 | 夜夜做日日做夜夜爽 | 日本伦理视频在线观看 | 日韩欧美亚洲综合久久99e | 国产老师制服丝袜裤视频 | 亚洲欧美日韩综合在线 | 影音先锋色69成人资源 | 黄 色 大 片 网站 |