最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java?JDBC使用入門講解

 更新時(shí)間:2022年12月08日 10:18:39   作者:-BoBooY-  
JDBC是指Java數(shù)據(jù)庫(kù)連接,是一種標(biāo)準(zhǔn)Java應(yīng)用編程接口(?JAVA?API),用來連接?Java?編程語(yǔ)言和廣泛的數(shù)據(jù)庫(kù)。從根本上來說,JDBC?是一種規(guī)范,它提供了一套完整的接口,允許便攜式訪問到底層數(shù)據(jù)庫(kù),本篇文章我們來了解MySQL連接JDBC的流程方法

前言:本節(jié)我們開始學(xué)習(xí)JDBC,JDBC的基礎(chǔ)對(duì)于我們開發(fā)來說非常的重要,大家一定要重視起來!

*.學(xué)習(xí)目標(biāo)

  • 掌握J(rèn)DBC的的CRUD
  • 理解JDBC中各個(gè)對(duì)象的作用
  • 掌握Druid的使用

1、JDBC概述

在開發(fā)中我們使用的是java語(yǔ)言,那么勢(shì)必要通過java語(yǔ)言操作數(shù)據(jù)庫(kù)中的數(shù)據(jù)。這就是接下來要學(xué)習(xí)的JDBC。

1.1、JDBC的概念

JDBC 就是使用Java語(yǔ)言操作關(guān)系型數(shù)據(jù)庫(kù)的一套API

全稱:( Java DataBase Connectivity ) Java 數(shù)據(jù)庫(kù)連接

我們開發(fā)的同一套Java代碼是無法操作不同的關(guān)系型數(shù)據(jù)庫(kù),因?yàn)槊恳粋€(gè)關(guān)系型數(shù)據(jù)庫(kù)的底層實(shí)現(xiàn)細(xì)節(jié)都不一樣。如果這樣,問題就很大了,在公司中可以在開發(fā)階段使用的是MySQL數(shù)據(jù)庫(kù),而上線時(shí)公司最終選用oracle數(shù)據(jù)庫(kù),我們就需要對(duì)代碼進(jìn)行大批量修改,這顯然并不是我們想看到的。我們要做到的是同一套Java代碼操作不同的關(guān)系型數(shù)據(jù)庫(kù),而此時(shí)sun公司就指定了一套標(biāo)準(zhǔn)接口(JDBC),JDBC中定義了所有操作關(guān)系型數(shù)據(jù)庫(kù)的規(guī)則。眾所周知接口是無法直接使用的,我們需要使用接口的實(shí)現(xiàn)類,而這套實(shí)現(xiàn)類(稱之為:驅(qū)動(dòng))就由各自的數(shù)據(jù)庫(kù)廠商給出。

1.2、JDBC的本質(zhì)

  • 官方(sun公司)定義的一套操作所有關(guān)系型數(shù)據(jù)庫(kù)的規(guī)則,即接口
  • 各個(gè)數(shù)據(jù)庫(kù)廠商去實(shí)現(xiàn)這套接口,提供數(shù)據(jù)庫(kù)驅(qū)動(dòng)jar包
  • 我們可以使用這套接口(JDBC)編程,真正執(zhí)行的代碼是驅(qū)動(dòng)jar包中的實(shí)現(xiàn)類

1.3、JDBC的好處

  • 各數(shù)據(jù)庫(kù)廠商使用相同的接口,Java代碼不需要針對(duì)不同數(shù)據(jù)庫(kù)分別開發(fā)
  • 可隨時(shí)替換底層數(shù)據(jù)庫(kù),訪問數(shù)據(jù)庫(kù)的Java代碼基本不變

以后編寫操作數(shù)據(jù)庫(kù)的代碼只需要面向JDBC(接口),操作哪兒個(gè)關(guān)系型數(shù)據(jù)庫(kù)就需要導(dǎo)入該數(shù)據(jù)庫(kù)的驅(qū)動(dòng)包,如需要操作MySQL數(shù)據(jù)庫(kù),就需要再項(xiàng)目中導(dǎo)入MySQL數(shù)據(jù)庫(kù)的驅(qū)動(dòng)包。如下圖就是MySQL驅(qū)動(dòng)包

2、JDBC快速入門

Java操作數(shù)據(jù)庫(kù)的流程

(1)編寫Java代碼

(2)Java代碼將SQL發(fā)送到MySQL服務(wù)端

(3)MySQL服務(wù)端接收到SQL語(yǔ)句并執(zhí)行該SQL語(yǔ)句

(4)將SQL語(yǔ)句執(zhí)行的結(jié)果返回給Java代碼

2.1、編寫代碼

創(chuàng)建工程,導(dǎo)入驅(qū)動(dòng)jar包

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

Class.forName("com.mysql.jdbc.Driver");

獲取連接

Java代碼需要發(fā)送SQL給MySQL服務(wù)端,就需要先建立連接

Connection conn = DriverManager.getConnection(url,username,password);

定義SQL語(yǔ)句

String sql = “update…” ;

獲取執(zhí)行SQL對(duì)象

執(zhí)行SQL語(yǔ)句需要SQL執(zhí)行對(duì)象,而這個(gè)執(zhí)行對(duì)象就是Statement對(duì)象

Statement stmt = conn.createStatement();

執(zhí)行SQL

stmt.executeUpdate(sql); 

處理返回結(jié)果

釋放資源

stmt.close();
conn.close();

2.2、完整案例

新建一個(gè)空項(xiàng)目

新建模塊

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

在添加為庫(kù)文件的時(shí)候,有如下三個(gè)選項(xiàng)

  • Global Library :全局有效
  • Project Library :項(xiàng)目有效
  • Module Library :模塊有效

創(chuàng)建JdbcDemo類并編寫如下代碼:

package com.bby;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class JdbcDemo {
    public static void main(String[] args) throws Exception {
        //1. 注冊(cè)驅(qū)動(dòng)
        Class.forName("com.mysql.jdbc.Driver");
        //2.獲取連接
        String url = "jdbc:mysql://localhost:3306/jdbc";
        String username = "root";
        String password = "1234";
        Connection connection = DriverManager.getConnection(url,username,password);
        //3.定義sql語(yǔ)句
        String sql = "update acount set money = 1000 where id = 1";
        //4.獲取執(zhí)行sql對(duì)象Statement
        Statement statement = connection.createStatement();
        //5.執(zhí)行sql
        int count = statement.executeUpdate(sql);
        //6.處理結(jié)果
        System.out.println(count);
        //7.釋放資源
        statement.close();
        connection.close();
    }
}

查看控制臺(tái)結(jié)果

數(shù)據(jù)庫(kù)數(shù)據(jù)更新前

數(shù)據(jù)庫(kù)數(shù)據(jù)更新后

To be continued…

到此這篇關(guān)于Java JDBC使用入門講解的文章就介紹到這了,更多相關(guān)Java JDBC內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 最簡(jiǎn)單的java生成word文檔方法

    最簡(jiǎn)單的java生成word文檔方法

    這篇文章主要介紹了java生成word文檔最簡(jiǎn)單的方法,首先說明,使用該方法時(shí),盡量不要使用wps新建word文檔,經(jīng)測(cè)試,手機(jī)不能兼容,出現(xiàn)很多格式問題,office則手機(jī)可以很好的兼容,所以,本文以office做教程
    2021-08-08
  • Java虛擬機(jī)JVM之server模式與client模式的區(qū)別

    Java虛擬機(jī)JVM之server模式與client模式的區(qū)別

    這篇文章主要介紹了Java虛擬機(jī)JVM的client模式和Server模式兩者的區(qū)別和聯(lián)系
    2017-12-12
  • Java實(shí)現(xiàn)微信公眾號(hào)自定義菜單的創(chuàng)建方法示例

    Java實(shí)現(xiàn)微信公眾號(hào)自定義菜單的創(chuàng)建方法示例

    這篇文章主要介紹了Java實(shí)現(xiàn)微信公眾號(hào)自定義菜單的創(chuàng)建方法,結(jié)合實(shí)例形式分析了java創(chuàng)建微信公眾號(hào)自定義菜單的具體步驟、實(shí)現(xiàn)方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-10-10
  • Spring中的ApplicationRunner接口的使用詳解

    Spring中的ApplicationRunner接口的使用詳解

    這篇文章主要介紹了Spring中的ApplicationRunner接口的使用詳解,ApplicationRunner使用起來很簡(jiǎn)單,只需要實(shí)現(xiàn)CommandLineRunner或者ApplicationRunner接口,重寫run方法就行,需要的朋友可以參考下
    2023-11-11
  • idea使用外置tomcat配置springboot詳細(xì)步驟

    idea使用外置tomcat配置springboot詳細(xì)步驟

    昨天小編遇到一個(gè)問題使用springboot自帶的tomcat啟動(dòng)沒有任何問題,不知道idea使用外置tomcat配置springboot該如何設(shè)置的,今天小編給大家分享一篇教程幫助大家解決這個(gè)問題
    2021-07-07
  • SpringBoot Redis實(shí)現(xiàn)接口冪等性校驗(yàn)方法詳細(xì)講解

    SpringBoot Redis實(shí)現(xiàn)接口冪等性校驗(yàn)方法詳細(xì)講解

    這篇文章主要介紹了SpringBoot Redis實(shí)現(xiàn)接口冪等性校驗(yàn)方法,近期一個(gè)老項(xiàng)目出現(xiàn)了接口冪等性校驗(yàn)問題,前端加了按鈕置灰,依然被人拉著接口參數(shù)一頓輸出,還是重復(fù)調(diào)用了接口,通過復(fù)制粘貼,完成了后端接口冪等性調(diào)用校驗(yàn)
    2022-11-11
  • mybatis plus in使用時(shí)傳數(shù)組、集合的注意點(diǎn)說明

    mybatis plus in使用時(shí)傳數(shù)組、集合的注意點(diǎn)說明

    這篇文章主要介紹了mybatis plus in使用時(shí)傳數(shù)組、集合的注意點(diǎn)說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 教大家使用java實(shí)現(xiàn)頂一下踩一下功能

    教大家使用java實(shí)現(xiàn)頂一下踩一下功能

    這篇文章主要教大家如何使用java實(shí)現(xiàn)頂一下踩一下功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • SpringBoot整合SpringDataJPA

    SpringBoot整合SpringDataJPA

    這篇文章主要介紹了SpringBoot整合SpringDataJPA代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2021-07-07
  • 史上最通俗理解的Java死鎖代碼演示

    史上最通俗理解的Java死鎖代碼演示

    這篇文章主要給大家介紹了關(guān)于Java死鎖代碼演示的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評(píng)論

芜湖市| 屯留县| 集贤县| 遂昌县| 洞口县| 扶余县| 神池县| 蒙城县| 上林县| 平利县| 客服| 霞浦县| 长乐市| 广宁县| 罗甸县| 军事| 安达市| 太和县| 长兴县| 江都市| 五常市| 普陀区| 沽源县| 河曲县| 曲靖市| 罗山县| 南京市| 剑阁县| 汝阳县| 武夷山市| 秦皇岛市| 镇江市| 青神县| 长治市| 许昌市| 辛集市| 贵阳市| 安徽省| 得荣县| 东港市| 山阳县|