亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java JDBC系列教程之JDBC類(lèi)的簡(jiǎn)析與JDBC的基礎(chǔ)操作

 更新時(shí)間:2020年07月27日 10:42:50   作者:一只胡說(shuō)八道的猴子  
這篇文章主要介紹了java JDBC系列教程之JDBC類(lèi)的簡(jiǎn)析與JDBC的基礎(chǔ)操作,本文分步驟通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

什么是JDBC?

概念:JAVA Database Connectivity Javas數(shù)據(jù)庫(kù)連接,Java語(yǔ)言操作數(shù)據(jù)庫(kù)接口,然后由各個(gè)數(shù)據(jù)庫(kù)廠商去實(shí)現(xiàn)這個(gè)接口,提供數(shù)據(jù)庫(kù)驅(qū)動(dòng)java包,我們可以使用這套接口,真正執(zhí)行的是jar驅(qū)動(dòng)包中的實(shí)習(xí)類(lèi)

使用一張圖讓大家更為直觀的理解:
coder就是寫(xiě)這套接口的程序員

JDBC的使用步驟

1.導(dǎo)入驅(qū)動(dòng)jar包
2.注冊(cè)驅(qū)動(dòng)
3.獲取數(shù)據(jù)庫(kù)連接對(duì)象
4.定義sql執(zhí)行語(yǔ)句
5.獲取sql語(yǔ)句執(zhí)行對(duì)象
6.執(zhí)行sql語(yǔ)句返回結(jié)果
7.處理結(jié)果
8.釋放結(jié)果

代碼實(shí)現(xiàn)

package JDBC;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class Main {
  public static void main(String[] args) throws ClassNotFoundException, SQLException {
    //注冊(cè)驅(qū)動(dòng)
    Class.forName("com.mysql.jdbc.Driver");
    //獲取數(shù)據(jù)庫(kù)連接對(duì)象
    Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3309/db2", "root", "1234");
    //定義sql語(yǔ)句
    String sql="update count set money=10000";
    //定義statement執(zhí)行語(yǔ)句
    Statement statement = connection.createStatement();
    //執(zhí)行sql語(yǔ)句
    int i = statement.executeUpdate(sql);
    System.out.println("共"+i+"行受到影響");
    //關(guān)閉資源
    statement.close();
    connection.close();
  }
}

類(lèi)詳解

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

功能:
1.注冊(cè)驅(qū)動(dòng),告訴程序應(yīng)該使用哪個(gè)驅(qū)動(dòng)的java包
static void registerDriver(Driver driver) :注冊(cè)與給定的驅(qū)動(dòng)程序 DriverManager 。

寫(xiě)代碼使用:

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

查看jar包下的源碼得:

package com.mysql.jdbc;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Driver extends NonRegisteringDriver implements java.sql.Driver {
  public Driver() throws SQLException {
  }
  static {
    try {
    //注冊(cè)驅(qū)動(dòng)
      DriverManager.registerDriver(new Driver());
    } catch (SQLException var1) {
      throw new RuntimeException("Can't register driver!");
    }
  }
}

我們可以發(fā)現(xiàn)在com.mysql.jdbc.Driver類(lèi)中存在靜態(tài)代碼塊,內(nèi)部調(diào)用registerDriver(new Driver)注冊(cè)驅(qū)動(dòng)
mysql5之后可以省略注冊(cè)驅(qū)動(dòng)的步驟

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

方法:static connection getConnection(String sql,String password)
參數(shù):
* url:指定連接的路徑
* 語(yǔ)法:jdbc:mysql://ip地址(域名):端口號(hào)/數(shù)據(jù)庫(kù)名稱(chēng)
* 例子:jdbc:mysql://localhost:3306/db3
* 細(xì)節(jié):如果連接的是本機(jī)mysql服務(wù)器,并且mysql服務(wù)默認(rèn)端口是3306,則url可以簡(jiǎn)寫(xiě) 為:jdbc:mysql:///數(shù)據(jù)庫(kù)名稱(chēng)
* user:用戶(hù)名
* password:密碼

**

Connection 數(shù)據(jù)庫(kù)連接對(duì)象**

1.功能
1.1 獲取sql語(yǔ)句的執(zhí)行對(duì)象
*Statement createStatement()
* PreparedStatement prepareStatement(String sql)

1.2 管理事務(wù)
開(kāi)啟事務(wù):setAutoCommit(boolean autocommit),調(diào)用改方法,參數(shù)為false時(shí)開(kāi)啟事務(wù)
提交事務(wù):commit();
回滾事務(wù):rollback()

1.3 statement:執(zhí)行sql語(yǔ)句的對(duì)象

執(zhí)行sql
1. boolean execute(String sql) :可以執(zhí)行任意的sql 了解
2. int executeUpdate(String sql) :執(zhí)行DML(insert、update、delete)語(yǔ)句、 DDL(create,alter、drop)語(yǔ)句
* 返回值:影響的行數(shù),可以通過(guò)這個(gè)影響的行數(shù)判斷DML語(yǔ)句是否執(zhí)行成功 返回值>0的則執(zhí)行成功,反之,則失敗。

**1.4ResultSet:結(jié)果集對(duì)象,封裝查詢(xún)結(jié)果**
 boolean next():游標(biāo)向下移動(dòng)一行,判斷當(dāng)前行是不是最后一行,如果是則返回false,如果不是則返回true
 getXxx(參數(shù)):獲取數(shù)據(jù)
* Xxx:代表數(shù)據(jù)類(lèi)型  如: int getInt() ,	String getString()
			* 參數(shù):
				1. int:代表列的編號(hào),從1開(kāi)始  如: getString(1)
				2. String:代表列名稱(chēng)。 如: getDouble("balance")

使用步驟:

  • 游標(biāo)向下移動(dòng)一行
  • 判斷是否有數(shù)據(jù)
  • 獲取數(shù)據(jù)

代碼演示

package JDBC;
import java.sql.*;
public class Main {
  public static void main(String[] args) throws ClassNotFoundException, SQLException {
    //注冊(cè)驅(qū)動(dòng)
    Class.forName("com.mysql.jdbc.Driver");
    //獲取數(shù)據(jù)庫(kù)連接對(duì)象
    Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3309/db2", "root", "1234");
    //定義sql語(yǔ)句
    String sql="SELECT *FROM COUNT ";
    //定義statement執(zhí)行語(yǔ)句
    Statement statement = connection.createStatement();
    //執(zhí)行sql語(yǔ)句
    ResultSet resultSet = statement.executeQuery(sql);
    //循環(huán)輸出
    while(resultSet.next()){
      int anInt = resultSet.getInt(1);
      String string = resultSet.getString(2);
      int anInt2 = resultSet.getInt(3);
      System.out.println("ID:"+anInt);
      System.out.println("name:"+string);
      System.out.println("money:"+anInt2);
    }
    //關(guān)閉資源
    statement.close();
    connection.close();
  }
}

結(jié)果

到此這篇關(guān)于java JDBC系列教程之JDBC類(lèi)的簡(jiǎn)析與JDBC的基礎(chǔ)操作的文章就介紹到這了,更多相關(guān)java JDBC類(lèi)與操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Jmeter實(shí)現(xiàn)Base64編碼的兩種方式

    Jmeter實(shí)現(xiàn)Base64編碼的兩種方式

    這篇文章主要介紹了Jmeter實(shí)現(xiàn)Base64編碼,大家都知道Jmeter實(shí)現(xiàn)Base64編碼有兩種方式,本文通過(guò)圖文并茂的形式把每種方法給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-01-01
  • SpringCloud 中使用 Ribbon的方法詳解

    SpringCloud 中使用 Ribbon的方法詳解

    本文重點(diǎn)給大家介紹SpringCloud 中使用 Ribbon的方法,本文通過(guò)實(shí)例文字相結(jié)合的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2018-10-10
  • Java泛型中<?>和<T>的區(qū)別淺析

    Java泛型中<?>和<T>的區(qū)別淺析

    <T>和<?>的區(qū)別 <T>是參數(shù)類(lèi)型,常常用于泛型類(lèi)或泛型方法的定義,下面這篇文章主要給大家介紹了關(guān)于Java泛型中<?>和<T>區(qū)別的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • IntelliJ idea 如何生成動(dòng)態(tài)的JSON字符串(步驟詳解)

    IntelliJ idea 如何生成動(dòng)態(tài)的JSON字符串(步驟詳解)

    這篇文章主要介紹了IntelliJ idea 如何生成動(dòng)態(tài)的JSON字符串,本文分步驟給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 利用hadoop查詢(xún)兩兩之間有共同好友及他倆的共同好友都是誰(shuí)

    利用hadoop查詢(xún)兩兩之間有共同好友及他倆的共同好友都是誰(shuí)

    一想到要實(shí)現(xiàn)求共同好友的功能,很多人都會(huì)想到redis來(lái)實(shí)現(xiàn)。但是redis存儲(chǔ)和數(shù)據(jù)和計(jì)算時(shí)需要耗費(fèi)較多的內(nèi)存資源。所以文本將介紹另一種方法,即利用Hadoop中的MapReduce來(lái)實(shí)現(xiàn),感興趣的可以了解一下
    2022-01-01
  • Java中的System.arraycopy()淺復(fù)制方法詳解

    Java中的System.arraycopy()淺復(fù)制方法詳解

    這篇文章主要介紹了Java中的System.arraycopy()淺復(fù)制方法詳解,Java數(shù)組的復(fù)制操作可以分為深度復(fù)制和淺度復(fù)制,簡(jiǎn)單來(lái)說(shuō)深度復(fù)制,可以將對(duì)象的值和對(duì)象的內(nèi)容復(fù)制;淺復(fù)制是指對(duì)對(duì)象引用的復(fù)制,需要的朋友可以參考下
    2023-11-11
  • 關(guān)于Java中的繼承和組合的一個(gè)錯(cuò)誤使用的例子

    關(guān)于Java中的繼承和組合的一個(gè)錯(cuò)誤使用的例子

    這篇文章主要介紹了關(guān)于Java中的繼承和組合的一個(gè)錯(cuò)誤使用的例子,需要的朋友可以參考下
    2016-08-08
  • 基于strict-origin-when-cross-origin問(wèn)題的解決

    基于strict-origin-when-cross-origin問(wèn)題的解決

    這篇文章主要介紹了基于strict-origin-when-cross-origin問(wèn)題的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 解決spring @ControllerAdvice處理異常無(wú)法正確匹配自定義異常

    解決spring @ControllerAdvice處理異常無(wú)法正確匹配自定義異常

    這篇文章主要介紹了解決spring @ControllerAdvice處理異常無(wú)法正確匹配自定義異常的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java精品項(xiàng)目瑞吉外賣(mài)之員工新增篇

    Java精品項(xiàng)目瑞吉外賣(mài)之員工新增篇

    這篇文章主要為大家詳細(xì)介紹了java精品項(xiàng)目-瑞吉外賣(mài)訂餐系統(tǒng),此項(xiàng)目過(guò)大,分為多章獨(dú)立講解,本篇內(nèi)容為新增員工功能的實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05

最新評(píng)論