国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)據(jù)庫(kù)——JDBC基本連接步驟

這篇具有很好參考價(jià)值的文章主要介紹了數(shù)據(jù)庫(kù)——JDBC基本連接步驟。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

目錄

JDBC概念:

JDBC保姆級(jí)連接步驟:

JDBC連接中用到的對(duì)象詳解:

1.DriverManager對(duì)象(驅(qū)動(dòng)管理對(duì)象)

2.Connection對(duì)象(連接對(duì)象)

3.Statement對(duì)象(執(zhí)行SQL語(yǔ)句的對(duì)象)

4.ResultSte對(duì)象(結(jié)果集)

JDBC概念:

JDBC的全稱是:Java數(shù)據(jù)庫(kù)連接(Java DataBase Connectivity),它是一套用于執(zhí)行SQL語(yǔ)句的Java API。應(yīng)用程序可以通過(guò)這套API聯(lián)系到關(guān)系型數(shù)據(jù)庫(kù),并使用SQL語(yǔ)句來(lái)完成對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)的查詢、新增、更新和刪除等操作。
????不同種類的數(shù)據(jù)庫(kù)(如:MySQL、Oracle等)在其內(nèi)部處理數(shù)據(jù)的方式是不同的,如果直接使用數(shù)據(jù)庫(kù)廠商提供的訪問(wèn)接口操作數(shù)據(jù)庫(kù),應(yīng)用程序的可移植性就會(huì)變得很差。例如,用戶在當(dāng)前程序中使用的是MySQL提供的接口操作數(shù)據(jù)庫(kù),如果換成Oracle數(shù)據(jù)庫(kù)提供的接口,這樣代碼的改動(dòng)量就會(huì)非常大。有了JDBC后,這種情況就不復(fù)存在了因?yàn)樗蟾鱾€(gè)數(shù)據(jù)庫(kù)廠商按照統(tǒng)一的規(guī)范來(lái)提供數(shù)據(jù)庫(kù)驅(qū)動(dòng)(JDBC實(shí)現(xiàn)類),在程序中由JDBC和具體的數(shù)據(jù)庫(kù)驅(qū)動(dòng)聯(lián)系,所以用戶就不必直接與底層的數(shù)據(jù)庫(kù)交互,使得代碼的通用性更強(qiáng)。

簡(jiǎn)而言之:JDBC就是java定義的一套操作所有關(guān)系型數(shù)據(jù)庫(kù)的規(guī)則,其本質(zhì)就是:官方定義的一套操作所有關(guān)系型數(shù)據(jù)庫(kù)的規(guī)則,即接口

JDBC保姆級(jí)連接步驟:

1.導(dǎo)入驅(qū)動(dòng)jar包

2.注冊(cè)驅(qū)動(dòng)

3.獲取數(shù)據(jù)庫(kù)連接對(duì)象? ?(connection)

4.定義SQL語(yǔ)句

5.獲取執(zhí)行SQL語(yǔ)句的對(duì)象? ?(statement)

6.執(zhí)行SQL語(yǔ)句,如有返回結(jié)果則需接受返回結(jié)果

7.處理結(jié)果集

8.釋放資源

示例:

package com.lele.dome;

import java.sql.*;

public class test02 {
    public static void main(String[] args) {
        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;
        try {
            //注冊(cè)驅(qū)動(dòng)
            Class.forName("com.mysql.cj.jdbc.Driver");
            String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=UTC";
            String user = "root";
            String pas = "123456";
            // 獲取連接對(duì)象
            connection = DriverManager.getConnection(url,user,pas);
            // 編寫SQL語(yǔ)句
            String sql = "SELECT * FROM sc";
            // 獲取SQL執(zhí)行對(duì)象
            statement = connection.createStatement();
            // 執(zhí)行SQL語(yǔ)句
            resultSet = statement.executeQuery(sql);
            // 處理結(jié)果集
            while (resultSet.next()){ // 如果有下一個(gè)就為真(一行一行的取出)
                int sno = resultSet.getInt("sno");
                String clazz = resultSet.getString("clazz");
                int score = resultSet.getInt("score");
                System.out.println(sno + "\t" + clazz + "\t" + score);
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }finally {
            // 釋放資源
            if (resultSet != null){
                try {
                    resultSet.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (statement != null){
                try {
                    statement.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (connection != null){
                try {
                    connection.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

JDBC連接中用到的對(duì)象詳解:

1.DriverManager對(duì)象(驅(qū)動(dòng)管理對(duì)象)

1.注冊(cè)驅(qū)動(dòng)

2.獲取數(shù)據(jù)庫(kù)連接

靜態(tài)方法:getconnection(URL,用戶名,密碼)

URL:指定連接路徑

jdbc:mysql://ip地址(域名):端口號(hào)//數(shù)據(jù)庫(kù)名稱

String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=UTC";
            

2.Connection對(duì)象(連接對(duì)象)

1、獲取執(zhí)行SQL語(yǔ)句的對(duì)象
Statement createStatement() 創(chuàng)建一個(gè)Statement對(duì)象,用于將SQL語(yǔ)句發(fā)送到數(shù)據(jù)庫(kù)。
PreparedStatement prepareStatement(String sql)創(chuàng)建一個(gè)PreparedStatement對(duì)象,用于將參數(shù)化的SQL語(yǔ)句發(fā)送到數(shù)據(jù)庫(kù)。(這種方式用于解決SQL注入問(wèn)題)
2、管理事務(wù)
開(kāi)啟事務(wù):setAutoCommit(boolean autoCommit) :調(diào)用該方法設(shè)置參數(shù)為false,即開(kāi)啟事務(wù)
提交事務(wù):commit()
回滾事務(wù):rollback()

3.Statement對(duì)象(執(zhí)行SQL語(yǔ)句的對(duì)象)

執(zhí)行sql語(yǔ)句的對(duì)象(Statement:用于執(zhí)行靜態(tài)SQL語(yǔ)句并返回其生成的結(jié)果的對(duì)象。
常用的方法:
int executeUpdate(String sql):執(zhí)行DML(表中記錄的操作)語(yǔ)句,返回一個(gè)int值這個(gè)int值代表的就是這個(gè)SQL語(yǔ)句生效后,該表中受這句SQL語(yǔ)句影響的記錄的行數(shù)。如果返回值>0,則表示執(zhí)行成功,反之則失敗。執(zhí)行DDL語(yǔ)句,不會(huì)返回任何內(nèi)容(因?yàn)榉祷刂殿愋褪莍nt,所以會(huì)返回值0),當(dāng)然在實(shí)際開(kāi)發(fā)中我們很少會(huì)通過(guò)Java語(yǔ)言去操作DDL語(yǔ)句。
ResultSet executeQuery(String sql):執(zhí)行DQL(查詢)語(yǔ)句,返回單個(gè)ResultSet對(duì)象。

4.ResultSte對(duì)象(結(jié)果集)

執(zhí)行DQL語(yǔ)句時(shí),需要用Statement對(duì)象中的executeQuery()方法,該方法返回一個(gè)ResultSet集合。這個(gè)方法將查詢到的結(jié)果放到ResultSet集合中,集合里有個(gè)光標(biāo),默認(rèn)情況下光標(biāo)指向字段行。使用next()方法后,光標(biāo)會(huì)移動(dòng)到當(dāng)前行的下一行。讀一個(gè)
get數(shù)據(jù)類型(參數(shù))方法,用來(lái)獲取當(dāng)前行中某一列的值。
既可以通過(guò)列的編號(hào)(從1開(kāi)始)來(lái)獲取,也可以通過(guò)列的字段名來(lái)獲取值參數(shù)int表示通過(guò)列的編號(hào)來(lái)取值,參數(shù)String表示通過(guò)列的字段名來(lái)獲取值文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-472124.html

while(resultset.next){
    get方法();
    //    參數(shù)有兩種一種是通過(guò)下標(biāo)獲取,一種通過(guò)名稱獲取
}
package com.lele.dome;

import java.sql.*;

public class test02 {
    public static void main(String[] args) {
        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;
        try {
            //注冊(cè)驅(qū)動(dòng)
            Class.forName("com.mysql.cj.jdbc.Driver");
            String url = "jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=UTC";
            String user = "root";
            String pas = "123456";
            // 獲取連接對(duì)象
            connection = DriverManager.getConnection(url,user,pas);
            // 編寫SQL語(yǔ)句
            String sql = "SELECT * FROM sc";
            // 獲取SQL執(zhí)行對(duì)象
            statement = connection.createStatement();
            // 執(zhí)行SQL語(yǔ)句
            resultSet = statement.executeQuery(sql);
            // 處理結(jié)果集
            while (resultSet.next()){ // 如果有下一個(gè)就為真(一行一行的取出)
                int sno = resultSet.getInt("sno");
                String clazz = resultSet.getString("clazz");
                int score = resultSet.getInt("score");
                System.out.println(sno + "\t" + clazz + "\t" + score);
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }finally {
            // 釋放資源
            if (resultSet != null){
                try {
                    resultSet.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (statement != null){
                try {
                    statement.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (connection != null){
                try {
                    connection.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

到了這里,關(guān)于數(shù)據(jù)庫(kù)——JDBC基本連接步驟的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 數(shù)據(jù)庫(kù)設(shè)計(jì)、JDBC、數(shù)據(jù)庫(kù)連接池

    數(shù)據(jù)庫(kù)設(shè)計(jì)、JDBC、數(shù)據(jù)庫(kù)連接池

    數(shù)據(jù)庫(kù)設(shè)計(jì)概念 數(shù)據(jù)庫(kù)設(shè)計(jì)就是根據(jù)業(yè)務(wù) 系統(tǒng)的具體需求,結(jié)合我們所選用的DBMS,為這個(gè)業(yè)務(wù)系統(tǒng)構(gòu)造出最優(yōu)的數(shù)據(jù)存儲(chǔ)模型。 建立數(shù)據(jù)庫(kù)中的表結(jié)構(gòu)以及表與表之間的關(guān)聯(lián)關(guān)系的過(guò)程。 有哪些表?表里有哪些字段?表和表之間有什么關(guān)系? 數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟 需求分析(數(shù)據(jù)是

    2024年02月19日
    瀏覽(21)
  • JDBC數(shù)據(jù)庫(kù)連接

    JDBC數(shù)據(jù)庫(kù)連接

    目錄 引言 ?一,基本概念 二,常用操作步驟 三,連接操作 ????????JDBC(Java DataBase Connectivity,java數(shù)據(jù)庫(kù)連接)是一種用于執(zhí)行SQL語(yǔ)句的Java API,可以為多種 關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪問(wèn),它由一組用Java語(yǔ)言編寫的類和接口組成。JDBC提供了一種基準(zhǔn),據(jù)此可以構(gòu)建 更高級(jí)的工具

    2024年02月13日
    瀏覽(17)
  • JDBC連接數(shù)據(jù)庫(kù)

    JDBC連接數(shù)據(jù)庫(kù)

    目錄 一、JDBC概念 1.1Java操作數(shù)據(jù)庫(kù)的流程 1.2編寫代碼步驟 1.3具體操作 二、JDBC API詳解 2.1 DriverManager(驅(qū)動(dòng)管理類) 作用 2.2 Connection(數(shù)據(jù)庫(kù)連接對(duì)象)作用: 2.3 Statement?? 2.4 ResultSet (結(jié)果對(duì)象集)作用 2.5 PreparedStatement? 三、數(shù)據(jù)庫(kù)連接池實(shí)現(xiàn) JDBC 就是使用 Java語(yǔ)言操作關(guān)系型

    2024年02月05日
    瀏覽(21)
  • JDBC入門數(shù)據(jù)庫(kù)連接

    JDBC(Java Database Connectivity)是Java程序與數(shù)據(jù)庫(kù)進(jìn)行交互的一種標(biāo)準(zhǔn)接口,它提供了一種簡(jiǎn)單的方式來(lái)連接和操作數(shù)據(jù)庫(kù)。在使用JDBC之前,需要先了解以下幾個(gè)概念: JDBC Driver :JDBC驅(qū)動(dòng)程序是一個(gè)Java類,用于將Java應(yīng)用程序與特定數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)連接。JDBC驅(qū)動(dòng)程序分

    2023年04月25日
    瀏覽(14)
  • 通過(guò)JDBC連接數(shù)據(jù)庫(kù)并用Java把數(shù)據(jù)寫入數(shù)據(jù)庫(kù)

    通過(guò)JDBC連接數(shù)據(jù)庫(kù)并用Java把數(shù)據(jù)寫入數(shù)據(jù)庫(kù)

    目錄 1.新建項(xiàng)目 2.在src包下新建lib包,用來(lái)存放jar包(下載對(duì)應(yīng)jar包復(fù)制到lib包里) 3.右鍵導(dǎo)入的jar包,找到并單擊\\\"添加到庫(kù)\\\"(add....) 4.在src包下新建bean包,新建class類 5.class類中寫數(shù)據(jù)庫(kù)表中對(duì)應(yīng)的列名的set get方法、空參、有參(String方法)注意:類名為私有類(private),新建類時(shí)數(shù)

    2024年02月02日
    瀏覽(98)
  • MySQL數(shù)據(jù)庫(kù),JDBC連接數(shù)據(jù)庫(kù)操作流程詳細(xì)介紹

    MySQL數(shù)據(jù)庫(kù),JDBC連接數(shù)據(jù)庫(kù)操作流程詳細(xì)介紹

    在學(xué)完 MySQL 和 Java 后,我們通常會(huì)嘗試使用 Java編譯器 連接 MySQL數(shù)據(jù)庫(kù),從而達(dá)到使用編譯器來(lái)操作數(shù)據(jù)庫(kù)的效果。連接的這個(gè)過(guò)程會(huì)用 JDBC 相關(guān)知識(shí),因此我把 JDBC 包的下載及導(dǎo)入流程,以及 JDBC 的使用流程整理下來(lái)分享給大家。 目錄 1. 啥是JDBC? 2. JDBC依賴包 2.1 依賴包

    2024年02月06日
    瀏覽(99)
  • eclipse使用jdbc連接數(shù)據(jù)庫(kù)

    eclipse使用jdbc連接數(shù)據(jù)庫(kù)

    下載和mysql對(duì)應(yīng)版本的jar包。 我的mysql下載的8.0.13版本的,所以下載8.0.13的jar包。官網(wǎng)下載地址: https://dev.mysql.com/downloads/connector/j/?os=26 (如果需要下載歷史版本,點(diǎn)擊 archievs) 下載之后,解壓目錄,獲得jar包。 導(dǎo)入jarb包。 第一步:在eclipse中新建工程JDBC,建立一個(gè)lib目錄

    2024年02月11日
    瀏覽(22)
  • JAVA連接數(shù)據(jù)庫(kù) JDBC編程

    JAVA連接數(shù)據(jù)庫(kù) JDBC編程

    提供修改數(shù)據(jù)庫(kù)和查詢數(shù)據(jù)庫(kù)的代碼,兩者只有很細(xì)微的差別 ????????注意在進(jìn)行連接數(shù)據(jù)庫(kù)首先你得下載你對(duì)應(yīng)MYSQL版本的JDBC驅(qū)動(dòng)包,比如MYSQL8.0版本的你就要下載MYSQL8.0版本的JDBC驅(qū)動(dòng)包,MYSQL5.1版本的你就要下載MYSQL5.1版本的JDBC驅(qū)動(dòng)包 我下載的8.0版本的驅(qū)動(dòng)包就是這個(gè)

    2024年02月15日
    瀏覽(98)
  • JDBC p5 數(shù)據(jù)庫(kù)連接池

    JDBC p5 數(shù)據(jù)庫(kù)連接池

    傳統(tǒng)的JDBC數(shù)據(jù)庫(kù)使用 DriverManager 來(lái)獲取, 每次向數(shù)據(jù)庫(kù)建立連接的時(shí)候都要將 Connection 加載到內(nèi)存中,再驗(yàn)證IP地址,用戶名和密碼(0.05 ~ 1 s 時(shí)間) 。需要數(shù)據(jù)庫(kù)連接的時(shí)候,就向數(shù)據(jù)庫(kù)要求一個(gè),頻繁的進(jìn)行數(shù)據(jù)庫(kù)連接操作將占用很多的系統(tǒng)資源,容易造成服務(wù)器崩潰。

    2024年02月15日
    瀏覽(21)
  • Java-JDBC連接數(shù)據(jù)庫(kù)

    Java-JDBC連接數(shù)據(jù)庫(kù)

    目錄 一、JDBC開(kāi)發(fā)步驟 1.Java程序連接數(shù)據(jù)庫(kù) 1.1引入MySQL驅(qū)動(dòng)包 1.2Java連接MySQL步驟 2 實(shí)現(xiàn)增刪改查操作 2.1 添加數(shù)據(jù) 2.2 修改數(shù)據(jù) 2.3 刪除數(shù)據(jù) 2.4 查詢數(shù)據(jù) 二、JDBC處理相關(guān)問(wèn)題 1 解決SQL注入問(wèn)題 1.1、問(wèn)題演示 1.2、解決問(wèn)題 2 JDBC事務(wù)處理 3 獲取自增長(zhǎng)鍵值 4 批處理操作 1.1 引入

    2024年02月09日
    瀏覽(90)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包