概念:JAVA Database Connectivity Javas數據庫鏈接,Java語言操做數據庫接口,而後由各個數據庫廠商去實現這個接口,提供數據庫驅動java包,咱們能夠使用這套接口,真正執行的是jar驅動包中的實習類java
使用一張圖讓你們更爲直觀的理解:
coder就是寫這套接口的程序員
mysql
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(); } }
功能:
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
**
1.功能
1.1 獲取sql語句的執行對象
*Statement createStatement()
* PreparedStatement prepareStatement(String sql)
1.2 管理事務
開啓事務:setAutoCommit(boolean autocommit),調用改方法,參數爲false時開啓事務
提交事務:commit();
回滾事務:rollback()
1.3 statement:執行sql語句的對象
**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, 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的一些基礎知識,若有錯誤還請各位批評指正,喜歡文章的能夠點贊收藏,我會常常更新文章,喜歡的也能夠關注我呀