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

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

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

更新時間:2021-01-27 17:08:03 來源:動力節(jié)點 瀏覽1388次

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

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


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

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

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

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

SQL常用語法

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

select {*|column alias}

from 表名稱 別名

【where 條件】

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

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

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

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

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

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

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

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

數(shù)據(jù)庫查詢操作
使用SQL的select語句可以查詢出數(shù)據(jù)庫的全部結(jié)果,在JDBC的操作中數(shù)據(jù)庫的所有查詢記錄將使用ResultSet進行接收,并使用ResultSet顯示內(nèi)容。要進行數(shù)據(jù)庫查詢操作,需要使用Statement接口定義的executeQuery()方法,此方法返回值類型就是一個ResultSet的對象,此對象中存放了所有的查詢結(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ù)庫驅(qū)動程序
    public static final String DBDRIVER = "com.mysql.jdbc.Driver";
    //定義MySQL數(shù)據(jù)庫的連接地址
    public static final String DBURL = "jdbc:mysql://localhost:3306/test";
    //MySQL數(shù)據(jù)庫的連接用戶名
    public static final String DBUSER = "root";
    //MySQL數(shù)據(jù)庫的連接密碼
    public static final String DBPASS = "root";
    public static void main(String[] args) {
        Connection con = null;
        Statement stmt = null;
        ResultSet rs = null;
        //數(shù)據(jù)庫查詢語句
        String sql = "select id , name, age from user";
        try {
            //加載驅(qū)動程序
            Class.forName(DBDRIVER);
        }
        catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        try {
            //連接MySQL數(shù)據(jù)庫時,要寫上連接的用戶名和密碼
            con = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
            //實例化Statement對象
            stmt = con.createStatement();
            //執(zhí)行數(shù)據(jù)庫查詢操作
            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ù)庫
            con.close();
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

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

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

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

 

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 一级视频在线免费观看 | 深夜a级毛片免费视频 | 亚洲免费高清视频 | 自偷自偷自亚洲首页精品 | 一级做a爰久久毛片武则天 一级做a免费视频 | 国产精品国产三级国产无毒 | 精品伊人久久大线蕉色首页 | 天堂视频在线免费观看 | www.天天射| 欧美色欧美亚洲高清在线视频 | 粉嫩在线视频 | 91短视频在线观看免费 | 国产成人在线视频网站 | 狠狠澡| 在线观看麻豆国产精品 | 日皮视频免费观看 | 男女在线视频 | 18成禁人视频免费网站 | 九九在线精品视频播放 | 久久.com| 中文字幕手机在线播放 | 天天操天天射天天舔 | 草草线禁成18年在线视频 | 白洁的性荡生活全文 | 人人草人人干 | 亚洲一区中文字幕在线观看 | 久久免费精品高清麻豆 | 波多野结衣视频一区 | 免费久久精品 | 欧美人与禽杂交大片 | 男女深夜福利 | 色噜噜久久 | 91成人免费观看 | 另类黄色 | 精品欧美一区手机在线观看 | 1024cc香蕉在线观看免费 | 破外女出血一级毛片 | a久久久久一级毛片护士免费 | 精品国产欧美一区二区三区成人 | np多肉高h被强 | 在线观看国产高清免费不卡黄 |