? 首先解釋下這題目,我們并不是要開發一個數據庫,而是要在Java Web項目中連接數據庫(后文中的數據開發皆與此相同),從而實現數據的增刪改查等操作,可以讓我們的應用中和用戶相關的數據持久化,進而給用戶提供更好的服務。因此,如何通過Java代碼連接數據庫,并實現數據的查詢和修改就非常重要了,相信對此你也非常認同了(強制認同)。
? 廢話不多說了,今天就帶大家進行數據庫開發環境的準備,主要包含MySQL的安裝、數據庫管理工具的使用、及在Java Web應用中完成數據庫開發的初體驗。
1.MySQL的安裝
? MySQL是現在主流的數據庫服務器,因為其開源、性能穩定、體量小等優點,一直都是備受開發者青睞。從下圖我們可以看到,2019年MySQL的使用比例仍排第一,相信在未來幾年大的趨勢也不會變。
? 首先我們來下載MySQL的安裝包,官網下載地址:,按照下圖點擊查看之前的版本,然后選擇自己操作系統,并選擇對應的版本,我們這里推薦使用5.7.29這個版本(如果想使用.0也是可以的,不過我們這里不會使用都8.0的新特性)。
? 點擊后,選擇下方的No , just start my 鏈接即可開始下載。下載速度可能會比較慢,如果較慢的話,建議換個時間點再下載,因為這個似乎下載失敗后要全部重新開始下載的。
? 安裝步驟:
? 對于mac用戶,可以選擇下載dmg格式的安裝包,只需按照指引一步步點擊即可完成安裝。可以參考下面文章:
mac系統下安裝mysql 5.7.21的方法
? 對于用戶,可以選擇使用MySQL 來直接安裝MySQL,還可以直接通過下載MySQL,通過命令行來完成MySQL的初始化工作,安裝步驟可以參考下面的兩個鏈接:
安裝圖解MySQL 57安裝部署(Zip版) 2.數據庫管理工具的安裝與使用
? MySQL安裝成功后,為了方便的操作數據庫,我們需要安裝數據庫管理工具,這樣用戶可以通過圖形化頁面更好的管理自己的數據服務器。
? 這里給大家推薦兩種數據庫管理工具,一是,功能強大,使用簡單,能幾乎滿足你的所有需求,不過是需要付費的;二是MySQL ,這是專門為MySQL設計的數據庫管理工具。
? 首先是的安裝步驟:
? 版本的安裝步驟可參考文章:
? Mac版本的安裝步驟可參考文章:
? 對于MySQL ,就比較簡單了,下載后按照步驟安裝即可(如果上面安裝MySQL時選擇的是msi格式,則可在安裝MySQL時順帶安裝)。下載鏈接:
? 對于數據庫連接工具,如果能熟練的使用,可以大大的提高我們的開發效率,在這里我們就使用來演示下,如何連接數據庫服務器,并新建庫、表、插入記錄的。
? 下圖可以看到,我們本地的MySQL服務器的連接()會被自動創建,點擊后,輸入密碼即可打開連接。
? 點擊MySQL 旁的+按鈕,即可創建新的連接,如下圖所示:
? 打開連接后,可以看到MySQL服務中的已經存在的數據庫(),并且可以創建數據庫、表、存儲過程、函數等等,如下圖所示:
? 下面我們來看下,要如何新建一個,具體操作如下圖所示:
? 如果要新建一張表時,可以通過SQL直接寫建表語句( Table…),或者通過頁面直接操作,具體操作如下所示:
3.第一個連接數據庫的程序
? 萬事具備,啥都不缺了,下面web開發必須會數據庫嗎,就讓我們一起來編寫一段從數據庫中查詢數據的代碼。
? 首先,我們需要將MySQL的連接驅動導入到項目中,連接驅動的下載地址:,我們選擇5.1.48版本。
? 驅動下載完成后,將jar包復制到Web項目中WEB-INF目錄中的lib下,并將其加入到項目的類路徑下(build path),這樣項目不僅可以在中運行,打包成war包部署在中也可正常執行。
? 下面我們就來寫下一段查詢代碼,從我們剛才新建庫中的新建的表中查詢數據。代碼如下:
/**
* 第一個數據庫查詢代碼
*
* @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);
}
}
}
? 在測試之前,我們還是欠缺點’東風’的,我們之前只給大家講了如何在中新建數據庫、新建表,我們在這里給出對應的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', '316615621@qq.com', '2000-10-13');
? 下面我們來看下的執行結果:
4.總結
? 到這里web開發必須會數據庫嗎,我們的準備工作已經完成了,并且已經搶鮮體驗了一把數據庫開發,后面我們會對JDBC的內容做更詳細的解釋,這里就不在贅述了。
參考閱讀:
2019 數據庫最受歡迎排行榜MySQL的優勢
? 又到了分隔線以下,本文到此就結束了,本文內容全部都是由博主自己進行整理并結合自身的理解進行總結,如果有什么錯誤,還請批評指正。
? Java web這一專欄會是一個系列博客,喜歡的話可以持續關注,如果本文對你有所幫助,還請還請點贊、評論加關注。