【手把手】JavaWeb 入門級項目實戰 -- 文章發布系統 (第五節)

在上一節中,我們成功將數據從前臺的JSP頁面傳遞到了controller層,但是還沒有寫service層,老實說還有很多工作沒有,尤其是和數據庫的鏈接方面的,所以,這一節,我們專門來處理一下關于數據庫連接方面的東西。

01 序言

你可能之前聽過了很多新名詞,比如數據源,連接池,還有c3p0等等。作為新手很容易被這些名詞給嚇到,因為一般的培訓機構不會告訴你這些,他們僅僅是給你講了最基本的jdbc,一般來說,就是告訴你用Java代碼來操作數據庫的幾個步驟。

首先,加載驅動類(媽了個雞蛋糕,對初學者而言,很可能連反射都不知道,就在那學習加載什么驅動類了,天知道學了些什么,越聽越糊涂)。

我有很多去培訓機構的朋友就是如此,培訓都結束了,也不知道為什么要學jdbc,只會課堂上那幾個干巴巴的案例。去企業面試都只有被嘲笑的份。

然后,加載好了驅動類,需要用一個什么 **DriverManager **來獲取鏈接。再接著,就寫預處理語句,執行一下,拿到結果集 ResultSet 。(媽了個雞蛋糕,對初學者而言,都不知道基本的迭代器,循環,就在那寫什么 **while(rs.next()){ ... } ** 了,最終的結果可想而知。

我個人是不太主張去那些不太出名的,或者口碑很差的培訓機構,如果一定要去培訓,那么起碼找個靠譜的吧,畢竟花這么多錢呢!如果花了錢,大部分知識竟然還是要去企業里面從0學起,到那時候你真的是要多郁悶有多郁悶。

不過也沒辦法,因為就算是再差的培訓機構,教的也總是要比學校實用一些。每年都有那么多畢業生畢業后不知道干嘛,說起來真是挺郁悶的。

去找工作吧,屢屢碰壁,好不容易找到了一個面試的,過去一問,原來是培訓的。

然后想想自己確實沒有什么技術,所以只好咬咬牙花一萬多塊錢去培訓了。

這樣的例子太多了,博主的很多朋友和同學就是這樣走上了Java程序開發的道路。

我不反對去培訓機構學習,只是我想說,如果自制力好的話,還是盡量自學比較劃算。

如果實在沒有自控力,去培訓機構也是一個不錯的選擇。

總之,視你的具體情況而定吧。

OK,回到正題。

最后,在jdbc操作的末尾,總歸少不了關閉鏈接,否則會導致資源的浪費。

當然,這些東西的確很重要,jdbc是Java代碼訪問和操作數據庫的方式。這些基本的API方法也形成了所有JDBC框架的根,比如Spring-jdbc就是對這些相對底層的代碼的封裝。

這就是所謂的jdbc1.0規范,但這樣有一個缺點,就是我每次進行數據庫操作都要去獲取一個連接,然后再自己關掉。這樣很麻煩,人總是聰明的,所以為了改進,就有了jdbc2.0規范。

那些數據源,連接池的概念就屬于jdbc2.0規范,就是說,我先創建好一大堆連接,誰要用誰就去拿。這樣就解決了jdbc1.0的弊端,不需要用戶每次都去創建連接,最后再關閉鏈接了。

因為這個小項目畢竟是以基礎優先的,所以我還是介紹一下jdbc1.0的使用方法吧。我會逐步封裝出一個JDBC工具類出來,我以前也沒寫過,都是直接用框架的,這是我的第一次嘗試,難免會有不恰當的地方,還希望各位多多包涵。

如有疑問或者不同的見解,可以在評論區指出,我會虛心改正的,謝謝。

02 預備知識

最好對以下知識有一個初步的了解后,再來看本篇文章,當然,不看也沒關系啦。。。

1、反射
2、泛型
3、JDBC API簡單使用
4、properties 文件的讀取
5、 IO流

03 準備好mysql

好了,正式開始吧。我在本地已經安裝好了mysql。mysql安裝的話,隨便百度一下就可以了。

在上一節中,我們新建了一個數據庫Article,用戶名就是root,密碼沒有。root用戶享有本地mysql的最高權限。

win + R,輸入cmd

Paste_Image.png

輸入 mysql -uroot (密碼不需要填寫)


Paste_Image.png

輸入 use Article

Paste_Image.png

好了,數據庫方面的工作就做好了。

如果無法進入mysql,可能是沒有啟動。在命令行輸入:net start mysql即可。

04 編寫jdbc.properties

我們要連接數據庫,最基本的信息有用戶名,密碼,還有數據庫名。

于是,我們在src目錄上新建一個config源文件夾(注意,是源文件夾,不是普通的文件夾,所有的源文件夾不會真的產生一個文件夾,它里面的文件默認在 CLASSPATH 根目錄下),再創建一個jdbc.properties文件:

Paste_Image.png

內容

還有 76% 的精彩內容
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容