JavaEE學習---JDBC-基礎篇

1.搭建JDBC開發環境

1.1安裝數據庫系統

MySQL是一種開放源代碼的關係型數據庫管理系統(RDBMS),使用最常用的數據庫管理語言–結構化查詢語言(SQL)進行數據庫管理。

MySQL是開放源代碼的,因此任何人都可以在General Public License的許可下下載並根據個性化的需要對其進行修改。

MySQL因爲其速度、可靠性和適應性而備受關注。大多數人都認爲在不需要事務化處理的情況下,MySQL是管理內容最好的選擇。

我個人安裝的是Mysql8.0。

以下是Mysql8.0安裝教程的相關連接(安裝到第36步即可):
https://mp.weixin.qq.com/s/BdkGg-dsDPEcJ_oaom_pLA

1.2安裝驅動程序

Java數據庫連接,(Java Database Connectivity,簡稱JDBC)是Java語言中用來規範客戶端程序如何來訪問數據庫的應用程序接口,提供了諸如查詢和更新數據庫中數據的方法。

JDBC也是Sun Microsystems的商標。我們通常說的JDBC是面向關係型數據庫的。

簡單來說,JDBC是JAVA語言和數據庫系統軟件之間的橋樑。

不同數據庫系統軟件需要下載不同的JDBC。

爲了節省大家的查找時間,我將我正在使用MySQL的JDBC驅動程序mysql-connector-java-8.0.11.jar共享給大家。

百度雲鏈接:https://pan.baidu.com/s/1luU4MwrLif_rtNhy0V6x2w
提取碼:xgc0
備用地址:https://static.runoob.com/download/mysql-connector-java-8.0.16.jar

下載完成JDBC驅動程序後,將該驅動程序mysql-connector-java-8.0.11.jar拷貝到GlassFish Server 的安裝路徑下(可以通過在net beans的工具-》服務器,看到服務器的安裝路徑)的lib子目錄下即可
在這裏插入圖片描述

2.連接數據庫

JDBC驅動有兩個類負責與數據庫建立連接。
1.DriverManager,它是JDBC API提供爲數不多的實際類之一。
2.JDBC Driver類,它是由獨立廠商提供的。

每個JDBC驅動程序使用一個專門的JDBC URL作爲自我標識的一種方法。
DriverManager通過JDBC URL來選擇正確的驅動程序。

JDBC URL的格式如下:
jdbc:子協議:數據庫定位器

子協議與JDBC驅動程序有關,可以是ODBC、Oracle、DB2等。數據庫定位器則是標識數據庫的,包括主機名、端口和數據庫系統名。

如果使用的是MySQL數據庫,那麼JDBC URL則是:
jdbc:mysql://機器名/數據庫名

如果使用的是GlassFish內置的Java DB數據庫,那麼JDBC URL則是:
jdbc:derby://機器名/數據庫名

如果使用的是Oracle數據庫,那麼JDBC URL則是:
jdbc:oracle:thin@機器名:端口名:數據庫名

以下我將通過一個實例來說明JDBC連接數據庫。首先創建web應用“DataWeb”來包含這篇博客的所有演示代碼。
1:test.jsp


<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
       <%
           java.sql.Connection conn=null;
           java.lang.String strConn;
           try{
           //myslq8.0以上需要在URLjdbc:mysql://localhost:3306/test加上?characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong否則會出錯。
           conn=java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong","root","");
           
       %>
       連接mysql數據庫成功!
       <%
           }catch(java.sql.SQLException e){
        out.println(e.toString());
        }finally{
           if(conn!=null) conn.close();
        }
       %>
    </body>
</html>

程序運行結果
第一次遇到了這個錯誤,經過查詢是說mysql版本和JDBC驅動程序的版本沒有對應上。比如MySQL是8.0的話,JDBC需要mysql-connector-java-8.0.11.jar及以上JDBC版本纔可以。經過一番調整,還是沒有解決我的問題。

最後,在一篇博客上看到,是SQL連接語句的問題。mysql8.0及以上的版本需要在URL:jdbc:mysql://localhost:3306/test加上?characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong否則會出錯。
mysql5.0:
conn=java.sql.DriverManager.getConnection(“jdbc:mysql://localhost:3306/test”,“root”,"");
mysql8.0:
conn=java.sql.DriverManager.getConnection(“jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong”,“root”,"");

在這裏插入圖片描述
成功解決了上面的問題,然後又出現了一個小問題。
這個問題比較容易,在mysql查詢語句中,輸入create database test 即可。
在這裏插入圖片描述

最後終於成功了!

在這裏插入圖片描述

總結:首先調用DriverManager對象的getConnection()方法來獲取數據庫連接,getConnection()方法的第一個參數爲JDBC URL,"jdbc:mysql://localhost:3306/test?characterEncoding=utf8&useSSL=false&serverTimezone=Hongkong"代表訪問的數據庫類型爲MySQL,數據庫位於主機localhost上,數據庫名爲test,字符編碼爲UTF-8等。getConnection()方法的後兩個參數代表訪問數據庫使用的用戶名和密碼。

說明:需要特別注意的是,在數據庫使用完畢後,務必確保將數據庫連接關閉。

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