1. 程式人生 > 程式設計 >java JDBC系列教程之JDBC類的簡析與JDBC的基礎操作

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.釋放結果

程式碼實現

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 。

寫程式碼使用:

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 {
    //註冊驅動
      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.4ResultSet:結果集物件,封裝查詢結果**
 boolean next():遊標向下移動一行,判斷當前行是不是最後一行,如果是則返回false,如果不是則返回true
 getXxx(引數):獲取資料
* Xxx:代表資料型別  如: int getInt(),String getString()
			* 引數:
				1. int:代表列的編號,從1開始  如: getString(1)
				2. String:代表列名稱。 如: getDouble("balance")

使用步驟:

  • 遊標向下移動一行
  • 判斷是否有資料
  • 獲取資料

程式碼演示

package JDBC;
import java.sql.*;
public class Main {
  public static void main(String[] args) throws ClassNotFoundException,"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類與操作內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!