欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java?JDBC使用入門講解

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

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

*.學習目標

  • 掌握JDBC的的CRUD
  • 理解JDBC中各個對象的作用
  • 掌握Druid的使用

1、JDBC概述

在開發(fā)中我們使用的是java語言,那么勢必要通過java語言操作數據庫中的數據。這就是接下來要學習的JDBC。

1.1、JDBC的概念

JDBC 就是使用Java語言操作關系型數據庫的一套API

全稱:( Java DataBase Connectivity ) Java 數據庫連接

我們開發(fā)的同一套Java代碼是無法操作不同的關系型數據庫,因為每一個關系型數據庫的底層實現細節(jié)都不一樣。如果這樣,問題就很大了,在公司中可以在開發(fā)階段使用的是MySQL數據庫,而上線時公司最終選用oracle數據庫,我們就需要對代碼進行大批量修改,這顯然并不是我們想看到的。我們要做到的是同一套Java代碼操作不同的關系型數據庫,而此時sun公司就指定了一套標準接口(JDBC),JDBC中定義了所有操作關系型數據庫的規(guī)則。眾所周知接口是無法直接使用的,我們需要使用接口的實現類,而這套實現類(稱之為:驅動)就由各自的數據庫廠商給出。

1.2、JDBC的本質

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

1.3、JDBC的好處

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

以后編寫操作數據庫的代碼只需要面向JDBC(接口),操作哪兒個關系型數據庫就需要導入該數據庫的驅動包,如需要操作MySQL數據庫,就需要再項目中導入MySQL數據庫的驅動包。如下圖就是MySQL驅動包

2、JDBC快速入門

Java操作數據庫的流程

(1)編寫Java代碼

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

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

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

2.1、編寫代碼

創(chuàng)建工程,導入驅動jar包

注冊驅動

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

獲取連接

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

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

定義SQL語句

String sql = “update…” ;

獲取執(zhí)行SQL對象

執(zhí)行SQL語句需要SQL執(zhí)行對象,而這個執(zhí)行對象就是Statement對象

Statement stmt = conn.createStatement();

執(zhí)行SQL

stmt.executeUpdate(sql); 

處理返回結果

釋放資源

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

2.2、完整案例

新建一個空項目

新建模塊

導入驅動包

在添加為庫文件的時候,有如下三個選項

  • Global Library :全局有效
  • Project Library :項目有效
  • 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. 注冊驅動
        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語句
        String sql = "update acount set money = 1000 where id = 1";
        //4.獲取執(zhí)行sql對象Statement
        Statement statement = connection.createStatement();
        //5.執(zhí)行sql
        int count = statement.executeUpdate(sql);
        //6.處理結果
        System.out.println(count);
        //7.釋放資源
        statement.close();
        connection.close();
    }
}

查看控制臺結果

數據庫數據更新前

數據庫數據更新后

To be continued…

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

相關文章

  • java8 利用reduce實現將列表中的多個元素的屬性求和并返回操作

    java8 利用reduce實現將列表中的多個元素的屬性求和并返回操作

    這篇文章主要介紹了java8 利用reduce實現將列表中的多個元素的屬性求和并返回操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Hadoop中的壓縮與解壓縮案例詳解

    Hadoop中的壓縮與解壓縮案例詳解

    壓縮就是通過某種技術(算法)把原始文件變下,相應的解壓就是把壓縮后的文件變成原始文件,本文給大家分享Hadoop中的壓縮知識,感興趣的朋友跟隨小編一起看看吧
    2021-12-12
  • Spring?AOP底層機制之代理模式

    Spring?AOP底層機制之代理模式

    如何實現在不修改源碼的基礎上實現代碼功能的增強呢?spring為我們提供了代理模式。所謂的代理模式通俗來說就是一個中介,它給某一個對象提供一個代理對象,并由代理對象控制原對象的引用,從而實現在不修改源碼的基礎上實現代碼功能的增強
    2022-08-08
  • Spring?populateBean屬性賦值和自動注入

    Spring?populateBean屬性賦值和自動注入

    這篇文章主要為大家介紹了Spring?populateBean屬性賦值和自動注入示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • java:無法訪問org.springframework.boot.SpringApplication問題

    java:無法訪問org.springframework.boot.SpringApplication問題

    這篇文章主要介紹了java:無法訪問org.springframework.boot.SpringApplication問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • 解決使用ProcessBuilder踩到的坑及注意事項

    解決使用ProcessBuilder踩到的坑及注意事項

    這篇文章主要介紹了解決使用ProcessBuilder踩到的坑,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java中 this和super的用法與區(qū)別小結

    Java中 this和super的用法與區(qū)別小結

    在Java的學習與開發(fā)者我們經常遇到this和super關鍵字,本文主要介紹了Java中 this和super的用法與區(qū)別小結,具有一定的參考價值,感興趣的可以了解一下
    2023-12-12
  • JavaWeb文件下載功能實例代碼

    JavaWeb文件下載功能實例代碼

    這篇文章主要為大家詳細介紹了JavaWeb文件下載功能實例代碼,代碼簡單實用,感興趣的小伙伴們可以參考一下
    2016-06-06
  • 詳解高性能緩存Caffeine原理及實戰(zhàn)

    詳解高性能緩存Caffeine原理及實戰(zhàn)

    Caffeine是基于Java 8開發(fā)的,提供了近乎最佳命中率的高性能本地緩存組件,Spring5開始不再支持Guava Cache,改為使用Caffeine。Caffeine提供的內存緩存使用參考Google guava的API
    2021-06-06
  • SpringBoot中的@PreAuthorize注解詳解

    SpringBoot中的@PreAuthorize注解詳解

    這篇文章主要介紹了SpringBoot中的@PreAuthorize注解詳解,@PreAuthorize注解會在方法執(zhí)行前進行權限驗證,支持Spring?EL表達式,它是基于方法注解的權限解決方案,需要的朋友可以參考下
    2023-09-09

最新評論