Java Web數據庫開發(MySQL)之環境準備

​ 首先解釋下這題目,我們並不是要開發一個數據庫,而是要在Java Web項目中連接數據庫(後文中的數據開發皆與此相同),從而實現數據的增刪改查等操作,可以讓我們的應用中和用戶相關的數據持久化,進而給用戶提供更好的服務。因此,如何通過Java代碼連接數據庫,並實現數據的查詢和修改就非常重要了,相信對此你也非常認同了(強制認同😝)。

資源分配圖

​ 廢話不多說了,今天就帶大家進行數據庫開發環境的準備,主要包含MySQL的安裝、數據庫管理工具的使用、及在Java Web應用中完成數據庫開發的初體驗。

1.MySQL的安裝

​ MySQL是現在主流的數據庫服務器,因爲其開源、性能穩定、體量小等優點,一直都是備受開發者青睞。從下圖我們可以看到,2019年MySQL的使用比例仍排第一,相信在未來幾年大的趨勢也不會變。

資源分配圖

​ 首先我們來下載MySQL的安裝包,官網下載地址:https://dev.mysql.com/downloads/mysql/,按照下圖點擊查看之前的版本,然後選擇自己操作系統,並選擇對應的版本,我們這裏推薦使用5.7.29這個版本(如果想使用MySQL8.0也是可以的,不過我們這裏不會使用都8.0的新特性)。

資源分配圖

​ 點擊download後,選擇下方的No thanks, just start my download鏈接即可開始下載。下載速度可能會比較慢,如果較慢的話,建議換個時間點再下載,因爲這個似乎下載失敗後要全部重新開始下載的。

​ 安裝步驟:

​ 對於mac用戶,可以選擇下載dmg格式的安裝包,只需按照指引一步步點擊即可完成安裝。可以參考下面文章:

  1. mac系統下安裝mysql 5.7.21的方法

​ 對於Windows用戶,可以選擇使用MySQL installer來直接安裝MySQL,還可以直接通過下載MySQL,通過命令行來完成MySQL的初始化工作,安裝步驟可以參考下面的兩個鏈接:

  1. MySQL57安裝圖解
  2. MySQL 57安裝部署(Zip版)

2.數據庫管理工具的安裝與使用

​ MySQL安裝成功後,爲了方便的操作數據庫,我們需要安裝數據庫管理工具,這樣用戶可以通過圖形化頁面更好的管理自己的數據服務器。

​ 這裏給大家推薦兩種數據庫管理工具,一是Navicat,功能強大,使用簡單,能幾乎滿足你的所有需求,不過是需要付費的;二是MySQL WorkBench,這是專門爲MySQL設計的數據庫管理工具。

​ 首先是Navicat的安裝步驟:

​ Navicat Windows版本的安裝步驟可參考文章:https://www.jianshu.com/p/a6921eae0a8f

​ Navicat Mac版本的安裝步驟可參考文章:https://www.jianshu.com/p/f3ef78deadaa

​ 對於MySQL WorkBench,就比較簡單了,下載後按照步驟安裝即可(如果上面安裝MySQL時選擇的是msi格式,則可在安裝MySQL時順帶安裝WorkBench)。下載鏈接:https://dev.mysql.com/downloads/workbench/

​ 對於數據庫連接工具,如果能熟練的使用,可以大大的提高我們的開發效率,在這裏我們就使用WorkBench來演示下,如何連接數據庫服務器,並新建庫、表、插入記錄的。

​ 下圖可以看到,我們本地的MySQL服務器的連接(Connection)會被自動創建,點擊後,輸入密碼即可打開連接。

資源分配圖

​ 點擊MySQL Connections旁的+按鈕,即可創建新的連接,如下圖所示:

資源分配圖

​ 打開連接後,可以看到MySQL服務中的已經存在的數據庫(Schema),並且可以創建數據庫、表、存儲過程、函數等等,如下圖所示:

資源分配圖

​ 下面我們來看下,要如何新建一個Schema,具體操作如下圖所示:

資源分配圖

​ 如果要新建一張表時,可以通過SQL直接寫建表語句(Create Table…),或者通過頁面直接操作,具體操作如下所示:

資源分配圖

3.第一個連接數據庫的程序

​ 萬事具備,啥都不缺了,下面,就讓我們一起來編寫一段從數據庫中查詢數據的代碼。

​ 首先,我們需要將MySQL的連接驅動導入到項目中,連接驅動的下載地址:https://dev.mysql.com/downloads/connector/j/,我們選擇5.1.48版本。

​ 驅動下載完成後,將jar包複製到Web項目中WEB-INF目錄中的lib下,並將其加入到項目的類路徑下(build path),這樣項目不僅可以在eclipse中運行,打包成war包部署在tocmat中也可正常執行。

資源分配圖資源分配圖

​ 下面我們就來寫下一段查詢代碼,從我們剛纔新建庫中的新建的表中查詢數據。代碼如下:

/**
 * 第一個數據庫查詢代碼
 * 
 * @author lizishu
 *
 */
public class FirstJDBC {
	public static void main(String[] args) {
		Connection connection = null;
		Statement statement = null;
		ResultSet resultSet = null;
		try {
			//註冊,告知JDBC使用mysql-connector驅動
			Class.forName("com.mysql.jdbc.Driver");
			String url = "jdbc:mysql://localhost:3306/java_web?useSSL=false&characterEncoding=utf-8";
			String userName = "root";
			String password = "123456";
			// 獲取數據庫連接
			connection = DriverManager.getConnection(url, userName, password);
			// 創建Statement對象
			statement = connection.createStatement();
			String sql = "SELECT * FROM users WHERE id = 1;";
			// 獲取查詢結果集
			resultSet = statement.executeQuery(sql);
      //resultSet移動遊標(Cursor)到結果的第一行
			while (resultSet.next()) {
				//輸出查詢結果
				System.out.println("name:" + resultSet.getString("name"));
				System.out.println("password:" + resultSet.getString("password"));
				System.out.println("email:" + resultSet.getString("email"));
				System.out.println("birthday:" + resultSet.getDate("birthday"));
			}
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		} finally {
			JDBCUtil.release(resultSet, statement, connection);
		}
	}
}

​ 在測試之前,我們還是欠缺點’東風’的,我們之前只給大家講了如何在WorkBench中新建數據庫、新建表,我們在這裏給出對應的Sql語句:

-- 創建數據庫
create database java_web;
-- 創建數據表
CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(32) DEFAULT NULL,
  `password` varchar(64) DEFAULT NULL,
  `email` varchar(32) DEFAULT NULL,
  `birthday` date DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4;
-- 插入數據
INSERT INTO users (`name`, `password`, email, birthday) VALUES ('李子樹', '123456', '[email protected]', '2000-10-13');

​ 下面我們來看下FirstJDBC的執行結果:

資源分配圖

4.總結

​ 到這裏,我們的準備工作已經完成了,並且已經搶鮮體驗了一把數據庫開發,後面我們會對JDBC的內容做更詳細的解釋,這裏就不在贅述了。

參考閱讀:

  1. 2019 數據庫最受歡迎排行榜
  2. MySQL的優勢

​ 又到了分隔線以下,本文到此就結束了,本文內容全部都是由博主自己進行整理並結合自身的理解進行總結,如果有什麼錯誤,還請批評指正。

​ Java web這一專欄會是一個系列博客,喜歡的話可以持續關注,如果本文對你有所幫助,還請還請點贊、評論加關注。

​ 有任何疑問,可以評論區留言。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章