一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java JDBC系列教程之JDBC類的簡析與JDBC的基礎操作

java JDBC系列教程之JDBC類的簡析與JDBC的基礎操作

2020-07-27 13:08一只胡說八道的猴子 Java教程

這篇文章主要介紹了java JDBC系列教程之JDBC類的簡析與JDBC的基礎操作,本文分步驟通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

什么是JDBC?

概念:JAVA Database Connectivity Javas數據庫連接,Java語言操作數據庫接口,然后由各個數據庫廠商去實現這個接口,提供數據庫驅動java包,我們可以使用這套接口,真正執行的是jar驅動包中的實習類

使用一張圖讓大家更為直觀的理解:
coder就是寫這套接口的程序員java JDBC系列教程之JDBC類的簡析與JDBC的基礎操作

JDBC的使用步驟

1.導入驅動jar包
2.注冊驅動
3.獲取數據庫連接對象
4.定義sql執行語句
5.獲取sql語句執行對象
6.執行sql語句返回結果
7.處理結果
8.釋放結果

代碼實現

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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 {
    //注冊驅動
    Class.forName("com.mysql.jdbc.Driver");
    //獲取數據庫連接對象
    Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3309/db2", "root", "1234");
    //定義sql語句
    String sql="update count set money=10000";
    //定義statement執行語句
    Statement statement = connection.createStatement();
    //執行sql語句
    int i = statement.executeUpdate(sql);
    System.out.println("共"+i+"行受到影響");
    //關閉資源
    statement.close();
    connection.close();
  }
}

類詳解

DriverManager:驅動管理對象

功能:
1.注冊驅動,告訴程序應該使用哪個驅動的java包
static void registerDriver(Driver driver) :注冊與給定的驅動程序 DriverManager 。

寫代碼使用:

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

查看jar包下的源碼得:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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 {
    //注冊驅動
      DriverManager.registerDriver(new Driver());
    } catch (SQLException var1) {
      throw new RuntimeException("Can't register driver!");
    }
  }
}

我們可以發現在com.mysql.jdbc.Driver類中存在靜態代碼塊,內部調用registerDriver(new Driver)注冊驅動
mysql5之后可以省略注冊驅動的步驟

獲取數據庫連接

方法:static connection getConnection(String sql,String password)
參數:
* url:指定連接的路徑
* 語法:jdbc:mysql://ip地址(域名):端口號/數據庫名稱
* 例子:jdbc:mysql://localhost:3306/db3
* 細節:如果連接的是本機mysql服務器,并且mysql服務默認端口是3306,則url可以簡寫 為:jdbc:mysql:///數據庫名稱
* user:用戶名
* password:密碼

**

Connection 數據庫連接對象**

1.功能
1.1 獲取sql語句的執行對象
*Statement createStatement()
* PreparedStatement prepareStatement(String sql)

1.2 管理事務
開啟事務:setAutoCommit(boolean autocommit),調用改方法,參數為false時開啟事務
提交事務:commit();
回滾事務:rollback()

1.3 statement:執行sql語句的對象

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

?
1
2
3
4
5
6
7
**1.4ResultSet:結果集對象,封裝查詢結果**
 boolean next():游標向下移動一行,判斷當前行是不是最后一行,如果是則返回false,如果不是則返回true
 getXxx(參數):獲取數據
* Xxx:代表數據類型  如: int getInt() , String getString()
            * 參數:
                1. int:代表列的編號,從1開始  如: getString(1)
                2. String:代表列名稱。 如: getDouble("balance")

使用步驟:

  • 游標向下移動一行
  • 判斷是否有數據
  • 獲取數據

代碼演示

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package JDBC;
import java.sql.*;
public class Main {
  public static void main(String[] args) throws ClassNotFoundException, SQLException {
    //注冊驅動
    Class.forName("com.mysql.jdbc.Driver");
    //獲取數據庫連接對象
    Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3309/db2", "root", "1234");
    //定義sql語句
    String sql="SELECT *FROM COUNT ";
    //定義statement執行語句
    Statement statement = connection.createStatement();
    //執行sql語句
    ResultSet resultSet = statement.executeQuery(sql);
    //循環輸出
    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);
    }
    //關閉資源
    statement.close();
    connection.close();
  }
}

結果

java JDBC系列教程之JDBC類的簡析與JDBC的基礎操作

到此這篇關于java JDBC系列教程之JDBC類的簡析與JDBC的基礎操作的文章就介紹到這了,更多相關java JDBC類與操作內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://www.cnblogs.com/pjhaymy/archive/2020/07/27/13384013.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 偷偷狠狠的日日高清完整视频 | 成 人 免费 小说在线观看 | gogort人体的最新网站 | 日韩精品一区二区三区老鸭窝 | 韩国久久 | 韩国久播影院理论片不卡影院 | 掰开逼操 | 日本在线视频免费观看 | 99re思思| 免费在线观看日本 | 男男视频18免费网站 | 国产成人欧美视频在线 | 婷婷激情综合五月天 | 动漫美女被褥吸奶漫画漫画 | 阿v天堂2020| 日本精品久久久久中文字幕 1 | 美女校花被调教出奶水 | 欧美久久热 | 亚洲久草在线 | 亚洲欧美日韩精品高清 | 美女脱了内裤打开腿让人羞羞软件 | 国产精品久久久久久久牛牛 | 欧美色图日韩色图 | 久久国产乱子伦免费精品 | 任我行视频在线观看国语 | 欧美男同video | 亚洲美日韩 | 国产草草视频 | 99在线精品免费视频九九视 | 亚洲高清无码在线 视频 | 亚洲成人在线播放 | 天天做天天爰夜夜爽 | 短篇最污的乱淫伦小说全集 | 精品久久久久久午夜 | 亚洲AV无码国产精品色在线看 | 亚洲一区二区成人 | 天天翘| 国产三级精品久久三级国专区 | 午夜熟女插插XX免费视频 | xxxx性欧美极品另类 | 国产免费又粗又猛又爽视频国产 |