java JDBC系列教程之JDBC類的簡析與JDBC的基礎操作
什么是JDBC?
概念:JAVA Database Connectivity Javas數(shù)據(jù)庫連接,Java語言操作數(shù)據(jù)庫接口,然后由各個數(shù)據(jù)庫廠商去實現(xiàn)這個接口,提供數(shù)據(jù)庫驅(qū)動java包,我們可以使用這套接口,真正執(zhí)行的是jar驅(qū)動包中的實習類
使用一張圖讓大家更為直觀的理解:
coder就是寫這套接口的程序員

JDBC的使用步驟
1.導入驅(qū)動jar包
2.注冊驅(qū)動
3.獲取數(shù)據(jù)庫連接對象
4.定義sql執(zhí)行語句
5.獲取sql語句執(zhí)行對象
6.執(zhí)行sql語句返回結(jié)果
7.處理結(jié)果
8.釋放結(jié)果
代碼實現(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 {
//注冊驅(qū)動
Class.forName("com.mysql.jdbc.Driver");
//獲取數(shù)據(jù)庫連接對象
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3309/db2", "root", "1234");
//定義sql語句
String sql="update count set money=10000";
//定義statement執(zhí)行語句
Statement statement = connection.createStatement();
//執(zhí)行sql語句
int i = statement.executeUpdate(sql);
System.out.println("共"+i+"行受到影響");
//關(guān)閉資源
statement.close();
connection.close();
}
}
類詳解
DriverManager:驅(qū)動管理對象
功能:
1.注冊驅(qū)動,告訴程序應該使用哪個驅(qū)動的java包
static void registerDriver(Driver driver) :注冊與給定的驅(qū)動程序 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 {
//注冊驅(qū)動
DriverManager.registerDriver(new Driver());
} catch (SQLException var1) {
throw new RuntimeException("Can't register driver!");
}
}
}
我們可以發(fā)現(xiàn)在com.mysql.jdbc.Driver類中存在靜態(tài)代碼塊,內(nèi)部調(diào)用registerDriver(new Driver)注冊驅(qū)動
mysql5之后可以省略注冊驅(qū)動的步驟
獲取數(shù)據(jù)庫連接
方法:static connection getConnection(String sql,String password)
參數(shù):
* url:指定連接的路徑
* 語法:jdbc:mysql://ip地址(域名):端口號/數(shù)據(jù)庫名稱
* 例子:jdbc:mysql://localhost:3306/db3
* 細節(jié):如果連接的是本機mysql服務器,并且mysql服務默認端口是3306,則url可以簡寫 為:jdbc:mysql:///數(shù)據(jù)庫名稱
* user:用戶名
* password:密碼
**
Connection 數(shù)據(jù)庫連接對象**
1.功能
1.1 獲取sql語句的執(zhí)行對象
*Statement createStatement()
* PreparedStatement prepareStatement(String sql)
1.2 管理事務
開啟事務:setAutoCommit(boolean autocommit),調(diào)用改方法,參數(shù)為false時開啟事務
提交事務:commit();
回滾事務:rollback()
1.3 statement:執(zhí)行sql語句的對象
執(zhí)行sql
1. boolean execute(String sql) :可以執(zhí)行任意的sql 了解
2. int executeUpdate(String sql) :執(zhí)行DML(insert、update、delete)語句、 DDL(create,alter、drop)語句
* 返回值:影響的行數(shù),可以通過這個影響的行數(shù)判斷DML語句是否執(zhí)行成功 返回值>0的則執(zhí)行成功,反之,則失敗。
**1.4ResultSet:結(jié)果集對象,封裝查詢結(jié)果**
boolean next():游標向下移動一行,判斷當前行是不是最后一行,如果是則返回false,如果不是則返回true
getXxx(參數(shù)):獲取數(shù)據(jù)
* Xxx:代表數(shù)據(jù)類型 如: int getInt() , String getString()
* 參數(shù):
1. int:代表列的編號,從1開始 如: getString(1)
2. String:代表列名稱。 如: getDouble("balance")
使用步驟:
- 游標向下移動一行
- 判斷是否有數(shù)據(jù)
- 獲取數(shù)據(jù)
代碼演示
package JDBC;
import java.sql.*;
public class Main {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
//注冊驅(qū)動
Class.forName("com.mysql.jdbc.Driver");
//獲取數(shù)據(jù)庫連接對象
Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3309/db2", "root", "1234");
//定義sql語句
String sql="SELECT *FROM COUNT ";
//定義statement執(zhí)行語句
Statement statement = connection.createStatement();
//執(zhí)行sql語句
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類的簡析與JDBC的基礎操作的文章就介紹到這了,更多相關(guān)java JDBC類與操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java基于logback?MessageConverter實現(xiàn)日志脫敏方案分析
本文介紹了一種日志脫敏方案,即基于logbackMessageConverter和正則匹配的方法,該方法的優(yōu)點是侵入性低,工作量少,只需修改xml配置文件,適用于老項目,感興趣的朋友跟隨小編一起看看吧2024-10-10
解析Java的Spring框架的BeanPostProcessor發(fā)布處理器
這篇文章主要介紹了Java的Spring框架的BeanPostProcessor發(fā)布處理器,Spring是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下2015-12-12
idea運行tomcat報錯找不到catalina.bat,系統(tǒng)找不到指定的文件問題
這篇文章主要介紹了idea運行tomcat報錯找不到catalina.bat,系統(tǒng)找不到指定的文件問題,具有很好的參考價值,希望對大家有所幫助,2023-11-11
解決IDEA報錯war?exploded?is?not?valid問題
在使用IntelliJ?IDEA時遇到'[projectname]warexploded'無效的問題,可以通過清除項目列表、重新導入項目和配置新的Tomcat來解決,確保在Tomcat配置中,將ApplicationContext修改為僅包含一個'/',這一方法或許能幫助遇到相似問題的開發(fā)者2024-09-09

