常寧seo外包哈爾濱網(wǎng)絡(luò)seo公司
Hi i,m JinXiang
? 前言 ?
本篇文章主要介紹JDBC概述(什么是JDBC?JDBC的原理、Mysql和Sql Server入門JDBC操作)簡單知識以及部分理論知識
🍉歡迎點贊?👍?收藏??留言評論?📝私信必回喲😁
🍉博主收將持續(xù)更新學(xué)習(xí)記錄獲,友友們有任何問題可以在評論區(qū)留言
目錄
?什么是JDBC?
?為什么要使用JDBC
🍧使用JDBC有以下幾個主要原因:
🍧使用JDBC的好處:
?JDBC的原理?
?Mysql和sql server入門JDBC操作
🍧1、Mysql的JDBC操作
🍧2、Sql Server的JDBC操作
?什么是JDBC?
JDBC是Java Database Connectivity的縮寫
是一種用于Java程序訪問關(guān)系型數(shù)據(jù)庫的API(應(yīng)用程序接口)。
它允許Java程序員使用標準的SQL語句來訪問和操作關(guān)系型數(shù)據(jù)庫。JDBC提供了一種標準的方式來連接到不同數(shù)據(jù)庫的驅(qū)動程序,并且是Java EE平臺上進行數(shù)據(jù)訪問的基礎(chǔ)。它提供了許多接口和類,使Java應(yīng)用程序可以通過它們來訪問和管理關(guān)系型數(shù)據(jù)庫。
?為什么要使用JDBC
🍧使用JDBC有以下幾個主要原因:
1. Java語言的跨平臺性:JDBC可以在各種操作系統(tǒng)和計算機體系結(jié)構(gòu)上運行,這使得使用Java開發(fā)的應(yīng)用程序可以方便地與不同類型的數(shù)據(jù)庫進行交互。
2. 標準化:JDBC是一個標準化的API,提供了一致的訪問關(guān)系數(shù)據(jù)庫的方法,使得不同的JDBC驅(qū)動程序可以實現(xiàn)相同的接口。這方便了Java開發(fā)人員在不同的關(guān)系型數(shù)據(jù)庫之間切換。
3. 安全性:使用JDBC可以使數(shù)據(jù)訪問更加安全。通過JDBC API訪問數(shù)據(jù)庫,可以避免直接在代碼中包含SQL語句,從而防止SQL注入攻擊。
4. 性能:JDBC可以提供高效的數(shù)據(jù)訪問,因為它允許Java程序員使用原生SQL語言來訪問數(shù)據(jù)庫,而且JDBC驅(qū)動程序可以優(yōu)化SQL語句的執(zhí)行。
綜上所述,JDBC是Java開發(fā)人員進行關(guān)系型數(shù)據(jù)庫操作的重要工具,它提供了一種標準化的方式來連接到不同數(shù)據(jù)庫的驅(qū)動程序,并且可以保證安全、跨平臺和高效的數(shù)據(jù)訪問。
🍧使用JDBC的好處:
1. 簡化了Java應(yīng)用程序與各種數(shù)據(jù)庫之間的連接和數(shù)據(jù)交互,使Java應(yīng)用程序可以與不同類型的數(shù)據(jù)庫通信。
2. 通過JDBC,開發(fā)人員能夠使用標準SQL語句來執(zhí)行數(shù)據(jù)庫查詢,修改和更新等操作,而無需了解特定數(shù)據(jù)庫的API。
3. 可以使用JDBC提供的API來保證數(shù)據(jù)的完整性和安全性,并提高數(shù)據(jù)訪問的效率。
4. JDBC允許開發(fā)人員使用Java語言來編寫數(shù)據(jù)庫驅(qū)動程序,從而提供了一個靈活的方式來訪問數(shù)據(jù)庫。
5. JDBC提供了一種標準的方式來訪問和管理關(guān)系型數(shù)據(jù)庫,這使得Java EE平臺上對數(shù)據(jù)進行管理更加容易和可靠。
?JDBC的原理?
JDBC(Java Database Connectivity)是Java語言訪問關(guān)系型數(shù)據(jù)庫的標準API。它的原理如下:
1. 加載數(shù)據(jù)庫驅(qū)動:在Java應(yīng)用程序中,首先需要加載適當?shù)臄?shù)據(jù)庫驅(qū)動程序。
2. 連接數(shù)據(jù)庫:使用Java程序中的getConnection()方法與數(shù)據(jù)庫建立連接。
3. 創(chuàng)建操作對象:使用Java程序中的Statement對象或者PreparedStatement對象來執(zhí)行SQL語句。
4. 執(zhí)行SQL語句:使用Statement對象或者PreparedStatement對象來執(zhí)行SQL語句,在執(zhí)行SQL語句之前,需要對SQL語句進行預(yù)編譯。
5. 處理查詢結(jié)果:使用ResultSet對象來處理從數(shù)據(jù)庫返回的查詢結(jié)果。
6. 釋放資源:使用Java程序中的close()方法釋放資源(ResultSet對象、Statement對象、Connection對象)。
JDBC的執(zhí)行過程是通過Java語言的標準接口實現(xiàn)的,具有跨平臺的優(yōu)點。同時,JDBC也支持連接池和事務(wù)管理等功能。
?Mysql和sql server入門JDBC操作
🍧1、Mysql的JDBC操作
package jdbc;import java.sql.*;public class JdbcDome {public static void main(String[] args) {String url = "jdbc:mysql://localhost:3306/1127douyinDB";String user = "root";String password = "root";try {// 加載MySQL驅(qū)動程序Class.forName("com.mysql.cj.jdbc.Driver");// 建立MySQL數(shù)據(jù)庫連接Connection connection = DriverManager.getConnection(url, user, password);// 創(chuàng)建Statement對象Statement statement = connection.createStatement();// 執(zhí)行SQL查詢語句ResultSet resultSet = statement.executeQuery("SELECT * FROM douyin");// 處理查詢結(jié)果while (resultSet.next()) {int id = resultSet.getInt("id");String liveStreaming = resultSet.getString("liveStreaming");int looknumber = resultSet.getInt("looknumber");System.out.println("id: " + id +"\tName: " + liveStreaming + "\tlooknumber: " + looknumber);}// 關(guān)閉ResultSet、Statement和Connection對象resultSet.close();statement.close();connection.close();} catch (ClassNotFoundException | SQLException e) {e.printStackTrace();}}
}
這些代碼實現(xiàn)了連接到MySQL數(shù)據(jù)庫并查詢student表中的數(shù)據(jù),并且輸出查詢結(jié)果。需要注意的是,實際開發(fā)中建議使用try-with-resources語句來自動關(guān)閉資源,而不是手動調(diào)用close()方法。
🍧2、Sql Server的JDBC操作
import java.sql.*;public class Dome {public static void main(String[] args) {//定義加載驅(qū)動String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";//定義數(shù)據(jù)庫用戶String userName = "sa";//定義數(shù)據(jù)庫密碼String userPwd = "sasa";//定義數(shù)據(jù)庫連接對象Connection dbConn = null;//定義命令對象Statement stmt=null;try {//1.加載及注冊驅(qū)動Class.forName(driverName);//2.定義數(shù)據(jù)庫連接字符串String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=LOLDB";//3.數(shù)據(jù)庫連接dbConn = DriverManager.getConnection(dbURL, userName, userPwd);System.out.println("連接數(shù)據(jù)庫成功");//4.定義SQL語句String sql="select * from LolNameTab";//5.創(chuàng)建一個執(zhí)行sql對象stmt=dbConn.createStatement();//6.執(zhí)行SQL語句命令ResultSet resultSet = stmt.executeQuery(sql);//7.處理結(jié)果,并獲取數(shù)據(jù)while (resultSet.next()){String userID=resultSet.getString("userID");String password=resultSet.getString("password");String name=resultSet.getString("userName");System.out.println(userID+"\t"+password+"\t"+name);}//8.關(guān)閉連接resultSet.close();dbConn.close();stmt.close();} catch (SQLException e) { //數(shù)據(jù)庫的處理異常的方法e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}finally {if (dbConn!=null){try {dbConn.close();} catch (SQLException e) {e.printStackTrace();}}if(stmt!=null){try {stmt.close();} catch (SQLException e) {e.printStackTrace();}}}}
}
總結(jié)不易,希望uu們不要吝嗇親愛的👍喲(^U^)ノ~YO!!如有問題,歡迎評論區(qū)批評指正😁