JavaWeb連接MySQL資料庫

来源:https://www.cnblogs.com/soosoo/archive/2022/05/05/16219491.html
-Advertisement-
Play Games

JavaWeb連接MySQL資料庫 JavaWeb連接MySQL資料庫的方式有很多,首先我們講解JDBC的配置方法 一、JDBC的配置方法 1、什麼是JDBC 什麼是JDBC嘞?JDBC代表Java資料庫連接(Java Database Connectivity),它是用於Java編程語言和資料庫之 ...


JavaWeb連接MySQL資料庫

JavaWeb連接MySQL資料庫的方式有很多,首先我們講解JDBC的配置方法

一、JDBC的配置方法

1、什麼是JDBC

什麼是JDBC嘞?JDBC代表Java資料庫連接(Java Database Connectivity),它是用於Java編程語言和資料庫之間的資料庫無關連接的標準Java API,

換句話說:JDBC是用於在Java語言編程中與資料庫連接的API。

JDBC庫包括通常與資料庫使用相關,如下麵提到的每個任務的API -

  • 連接到資料庫
  • 創建SQL或MySQL語句
  • 在資料庫中執行SQL或MySQL查詢
  • 查看和修改結果記錄

從根本上說,JDBC是一個規範,它提供了一整套介面,允許以一種可移植的訪問底層資料庫API。 Java可以用它來編寫不同類型的可執行文件,如 -

  • Java應用程式
  • Java Applet
  • Java Servlets
  • Java ServerPages(JSP)
  • 企業級JavaBeans(EJB)

所有這些不同的可執行文件都能夠使用JDBC驅動程式來訪問資料庫,並用於存儲數據到資料庫中。

JDBC提供與ODBC相同的功能,允許Java程式包含與資料庫無關的代碼(同樣的代碼,只需要指定使用的資料庫類型,不需要重修改資料庫查詢或操作代碼)。

2、下載配置

(1)首先我們到MySQL的官網去下載支持程式“MySQL Connector/J”(MySQL官方的JDBC驅動程式)

這裡附上一鍵直達的鏈接:MySQL :: Download MySQL Connector/J (Archived Versions)

首先打開MySQL官網,點擊DOWNLOADS

之後我們點擊MySQL Community(GPL) Downloads

點擊Connector/J

點擊Archives

按照圖片進行選擇並下載(這裡我們不可以選擇上方的那個文件,因為上面那個文件是Liunx、Dabian等系統的文件,下麵的文件才是Windows版本的!!!

至此,我們下載完成。

(2)接下來我們進行文件配置。

我們將下載的壓縮包進行解壓,在生成的文件中會有一個名為mysql-connector-java-8.0.28.jar的文件。

我們要在需要與MySQL連接的項目中建立一個lib文件夾,並將.jar文件複製粘貼到此文件夾下(也可以直接進行拖拽)

之後我們右鍵,按照圖片上的步驟操作,添加驅動程式路徑(成功後會多出一個文件)

到這裡不要著急,下麵我們將.jar包導入到你電腦Tomcat文件根目錄下的lib文件夾內,這樣,你就完成了所有配置!

(3)接下來我們註冊JDBC驅動程式

連接資料庫時,需要將資料庫驅動程式註冊到jdbc的驅動管理器中。

調用Class.forName()方法
例如:Class.forName(“com.mysql.jdbc.Driver”);
當jdbc驅動程式mysql-connector-java-5.0.5-bin.jar為6.x版本以上時,調用為
Class.forName(“com.mysql.cj.jdbc.Driver”);

(4)基於資料庫連接的URL創建連接

雖然不同資料庫廠商的URL不完全相同,但是都符合一個基本的格式,即“jdbc協議+IP地址或功能變數名稱+埠號+資料庫名稱”。

創建資料庫連接時,需要使用DriverManager類中getConnection()的靜態方法,方法聲明如下:
DriverManager.getConnection(String url,String username,password);

二、使用JDBC的方法使JavaWeb連接MySQL資料庫

下麵我們寫一個JSP代碼,用來驗證是否可以連接MySQL資料庫。

<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.DriverAction"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content:"text/html" charset="UTF-8">
<title>MySQL</title>
</head>
<body>
	<%
	try {
		Class.forName("com.mysql.cj.jdbc.Driver"); //顯示聲明將資料庫驅動程式註冊到jdbc的驅動管理器中
		String url = "jdbc:mysql://localhost:3306/text"; //資料庫名稱為text(需要提前在MySQL裡面建立text資料庫)
		String username = "root"; //資料庫用戶名
		String password = "123456"; //資料庫密碼	
		Connection conn = DriverManager.getConnection(url, username, password); //連接資料庫
		out.print("資料庫連接成功!");
		conn.close();
	} catch (Exception e) {
		out.print("資料庫連接失敗!");
		out.print("錯誤信息:" + e.toString());
	}
	%>

</body>
</html>

PS:這裡需要註意的是我們自己使用時一定要修改成自己MySQL的用戶名和密碼,保證可以正常連接資料庫。並且我們連接的資料庫一定要存在!!!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 很多人看到系統修複模式這節內容時,都會有所感慨:Linux 的密碼破解太容易了,這樣的操作系統還安全嗎?Linux 不是以安全性著稱的嗎? 圖 1 密碼安全 本節,我們結合圖 1 解釋一下類似的問題。 我們一開始始為了安全,給用戶設定密碼,但是這樣密碼可以很容易地被單用戶模式破解。我們又想到,進入單 ...
  • stm32標準庫實現低功耗 一、概述 stm32不同系列晶元支持的低功耗模式各有差異,本文以F103系列晶元為例,簡單講解不同低功耗模式的特點和使用方法。 二、低功耗 簡述 預設情況下,系統或電源複位後,微控制器處於Run模式。當CPU不需要保持運行時(例如等待外部事件時),可以使用幾種低功耗模式來 ...
  • 背景描述 辦公室電腦,工作需要遠程式控制制,如何實現有很多方案,不贅述,我用的是frp加密轉發。 但是遇到停電、斷網等情況,如何自動恢復(單位使用了銳捷認證系統)? 另外,一天24小時開著又太浪費,只需要某些時候接受可能的遠程遙控。 在此情況下,我需要自動開機、自動聯網、定時睡眠、定時喚醒。 分項加以說 ...
  • 鏡像下載、功能變數名稱解析、時間同步請點擊 阿裡雲開源鏡像站 Redis 一、Redis安裝 1、windows下安裝 預設埠:6379 下載連接 https://github.com/tporadowski/redis/releases 解壓 雙擊redis-server.exe啟動服務端 雙擊redi ...
  • 一、Table API 和 Flink SQL 是什麼 Table API 和 SQL 集成在同一套 API 中。 這套 API 的核心概念是Table,用作查詢的輸入和輸出,這套 API 都是批處理和流處理統一的上層 API,這意味著在無邊界的實時數據流和有邊界的歷史記錄數據流上,關係型 API ...
  • 活動簡介 “開源之夏(英文簡稱 OSPP)” 是中科院軟體所 “開源軟體供應鏈點亮計劃” 指導下的一項面向高校學生的暑期活動,由中國科學院軟體研究所與 openEuler 社區共同舉辦。 2022 年為此系列活動的第三屆,開源之夏旨在鼓勵在校學生積极參与開源軟體的開發維護,促進優秀開源軟體社區的蓬勃 ...
  • 本文為墨天輪社區整理的2022年4月國產資料庫大事件和重要產品發佈消息。 ...
  • JSON 數據類型是 MySQL 5.7.8 開始支持的。在此之前,只能通過字元類型(CHAR,VARCHAR 或 TEXT )來保存 JSON 文檔。 相對字元類型,原生的 JSON 類型具有以下優勢: 在插入時能自動校驗文檔是否滿足 JSON 格式的要求。 優化了存儲格式。無需讀取整個文檔就能快 ...
一周排行
    -Advertisement-
    Play Games
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...