Java学习之JDBC实现简单的CRUD(mysql数据库)
文章目錄
- 1. JDBC概述
- 2. 前期準備
- 3. CRUD的實現
- 3.2. mysql的CRUD語句
- 3.2.1. 查詢
- 3.2.2. 插入:
- 3.2.3. 更新:
- 3.2.4. 刪除:
- 3.3. 操作簡述
- 3.4. 實現代碼
- 參考資料
1. JDBC概述
JDBC(Java DataBase Connectivity, java數據庫連接)是一種用于執行SQL語句的Java API,可以為多種關系數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成。(注意:JDBC是人為制定的一種規范,而不是一種實現)
如下圖所示,有了JDBC我們就可以通過JDBC去加載不同數據庫廠商的驅動,實現對不同數據庫的操作,而不用針對不同數據庫再編寫相應的程序,使程序擁有良好的可移植性。
2. 前期準備
數據庫:mysql 5.6
IDE:Eclipse IDE for Enterprise Java Developers
因為需要連接mysql數據庫,這里要用到mysql-connector-java-5.1.28-bin.jar包,Maven項目可以直接添加依賴。由于是學習的緣故,這里用到的包相對會比較舊。
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --> <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.28</version> </dependency>3. CRUD的實現
這些功能實現其實很簡單,主要包含以下步驟:
由上面的步驟可以看出其實大部分操作都是套路型的(花里胡哨),核心操作還是我們對傳輸sql語句到數據庫中執行,本質上我們本知道知道相應操作的sql語句就可以完成。
3.2. mysql的CRUD語句
雖然知道sql語句是核心,但是如果平時不常用的話,很容易就會忘記了。現在先來復習一下mysql簡單的增刪查改操作。
3.2.1. 查詢
SELECT column_name,column_name FROM table_name WHERE column_name operator value;3.2.2. 插入:
插入操作主要有以下兩種寫法:
第一種形式無需指定要插入數據的列名,只需提供被插入的值即可:
INSERT INTO table_name VALUES (value1,value2,value3,...);第二種形式需要指定列名及被插入的值:
INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...);3.2.3. 更新:
# 更新表中已經存在的元素 UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value;3.2.4. 刪除:
# 根據條件刪除表中已經存在的元素 DELETE FROM table_name WHERE some_column=some_value;3.3. 操作簡述
我們第一步要獲取到數據庫的連接:
- 首先需要注冊數據庫的驅動,這里用到Class.forName()方法,參數是數據庫驅動的類型,如果是mysql數據庫的話傳入的是"com.mysql.jdbc.Driver"。
- 接著就是連接到數據庫了,我們需要傳入數據庫的地址,用戶名和密碼。這里需要簡單解釋一下數據庫地址的寫法:
- 一般格式:jdbc:數據庫類型://ip:port/數據庫名稱。比如我們要連接本地一個叫做mydb1的數據庫,地址就寫為:jdbc:mysql://localhost:3306/mydb1
- 當ip地址和端口號為本地地址和數據庫默認端口號時,可以省略不寫。例如上面的數據庫地址可以簡寫為:jdbc:mysql://localhost:3306/mydb1
成功連接之后就可以獲取傳輸器Statement對象,利用該對象傳輸sql語句對數據進行操作了。
- Statement接口主要用于在已經建立連接的基礎上向數據庫發送SQL語句。
- ResultSet接口類似于一個臨時表,用來暫時存放數據庫查詢操作獲得的結果集。
3.4. 實現代碼
由于操作都比較重復,這里只演示查詢的操作。如果進行其他操作,只要更改相應的sql語句。下面的代碼封裝得也不是很好,可以考慮以下優化:
- 由于連接和關閉資源操作都比較重復,我們可以把它們封裝成一個靜態的JDBCUtils。
- 我們可以把像驅動的類型、數據庫地址、用戶名和密碼這些信息都寫入配置文件,連接的時候再從配置文件中讀取。
參考資料
總結
以上是生活随笔為你收集整理的Java学习之JDBC实现简单的CRUD(mysql数据库)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL基础之控制台常用命令
- 下一篇: H. Texas hold'em Pok