jdbc篇第1課:jdbc的介紹和使用
我們已經學過mysql了,接下來我們要學學如何用java來操作mysql。
Java操作資料庫所使用的技術叫JDBC,看百度百科:
JDBC(Java DataBase Connectivity,java資料庫連線)是一種用於執行SQL語句的Java API,可以為多種關係資料庫提供統一訪問,它由一組用Java語言編寫的類和介面組成。JDBC提供了一種基準,據此可以構建更高階的工具和介面,使資料庫開發人員能夠編寫資料庫應用程式
簡單來說,jdbc就是一座橋樑,連線著java和資料庫
我們要學習的就是如何用java來操作mysql
mysql服務是否執行的檢視方式:
而我們連線mysql服務用的就是各種客戶端,比如:
- Mysql Command Line Client
- Navicat for Mysql
- mysql-connector.jar(我們今天要學的)
下面來說下什麼是jar包,算了,自己解釋:
Jar包或者說.jar檔案,是一種壓縮包,這種壓縮包裡放著.class檔案(這個是我們要用的)或者.java檔案(放.java的叫原始碼包),通過引用jar包就可以使用其他人寫好的類
Jdk裡也有很多jar包,比如我們配置java環境的時候
Path裡有一項是: %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
JAVA_HOEM是: F:\Java\jdk
F:\Java\jdk\bin下放著各種.exe檔案(可執行檔案)
F:\Java\jdk\jre\bin下放著各種.dll檔案(動態連結庫,dynamic link library)
再來看看lib資料夾:
F:\Java\jdk\lib下放著各種jar包
F:\Java\jdk\jre\lib下放著各種jar包(java程式執行需要用的jar包)
我們用的String類就在rt.jar下
我們想要連線mysql,需要用到mysql-connector這個jar包,這個我已經準備好了
用idea的同學可以看下我是怎麼引用jar包的,用eclipse的同學去百度怎麼在專案裡引入其他jar包
可以看到在引入mysql-connector這個jar包後就可以使用裡面的類了
接下來講怎麼用mysql-connector連線資料庫
Demo 01:
package jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class JdbcTeach { public static void main(String[] args) { //首先,mysql其實是分為服務端和客戶端,服務端在後臺啟動著,可以來看看 /** * 用mysql-connector連線資料庫步驟: * 1. 載入com.mysql.jdbc.Driver類 * 2. 通過DriverManager.getConnection()來獲取連線(一個Connection物件) * 3. 獲取了Connection物件後就已經自動連線上mysql資料庫了 * 4. 用完了別忘記關閉連線 */ try { Class.forName("com.mysql.jdbc.Driver"); /** * DriverManager.getConnection(url,user,password) * @Param url: 要連線到資料庫,固定寫法: jdbc:mysql://你的ip地址:mysql的埠號/資料庫名 * @Param user: 連線資料庫的使用者名稱 * @Param password: 連線資料庫的密碼 * * @return 返回一個Connection物件 */ //如果連的是本地資料庫,ip地址可以是localhost或者127.0.0.1 //mysql埠號預設是3306 String url = "jdbc:mysql://localhost:3306/teach"; String user = "root"; String password = "root"; //這個Connection是一個介面,我們來看看它引用的物件是那個型別 //引用的是com.mysql.jdbc.JDBC4Connection型別的物件 //當然mysql-connector都幫我們封裝好了,我們不用在意這些細節 //這也體現了介面的作用,介面只是定義一組方法,可以交由實現類去具體實現 //而我們使用介面是不必關心它的實現類的具體實現細節的 Connection connection = DriverManager.getConnection(url, user, password); // System.out.println("Connection的型別為: " + connection.getClass().getName()); connection.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } }