java JDBC系列1 JDBC類的簡析與JDBC的基礎操做

java JDBC系列1 JDBC類的簡析與JDBC的基礎操做

什麼是JDBC?

概念:JAVA Database Connectivity Javas數據庫鏈接,Java語言操做數據庫接口,而後由各個數據庫廠商去實現這個接口,提供數據庫驅動java包,咱們能夠使用這套接口,真正執行的是jar驅動包中的實習類java

使用一張圖讓你們更爲直觀的理解:
coder就是寫這套接口的程序員
在這裏插入圖片描述mysql

JDBC的使用步驟

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

代碼實現sql

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包下的源碼得:url

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以後能夠省略註冊驅動的步驟code

獲取數據庫鏈接對象

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

**

Connection 數據庫鏈接對象**

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

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

1.3 statement:執行sql語句的對象

  1. 執行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")

使用步驟:

  1. 遊標向下移動一行
  2. 判斷是否有數據
  3. 獲取數據

代碼演示

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();
    }
}

結果

在這裏插入圖片描述

以上就是JDBC的一些基礎知識,若有錯誤還請各位批評指正,喜歡文章的能夠點贊收藏,我會常常更新文章,喜歡的也能夠關注我呀

在這裏插入圖片描述

相關文章
相關標籤/搜索