本章節将示範mysql安裝、hibernate配置及資料庫工具封裝等内容,對于熱衷于寫代碼的coder可能更喜歡一些。至于為何要使用mysql、hibernate?給出一個簡單的理由就是開源。
一、安裝mysql
1、下載下傳mysql
下載下傳完畢後可以進行下面的具體安裝了,若需要mysql的朋友也可以私下聯系我。
2、安裝mysql
① 輕按兩下進入安裝界面,選擇“next”,如下圖:
② 勾選“i accept the terms in the license agreement”後選擇“next”,如下圖:
③ 選擇“typical”進行典型模式安裝,開始進入具體安裝,如下圖:
④ 在“mysql enterprise”視窗中選擇“next”,如下圖:
⑤ 在安裝結束之前的界面上勾選“launch the mysql instance configuration wizard”後選擇“finish”
3、配置mysql
① 在配置mysql界面選擇“next”,如下圖:
② 選擇“detailed configuration > next”,如下圖:
③ 選擇“developer machine > next”,如下圖:
④ 選擇“multifunctional database > next”,如下圖:
⑤ 接下來是資料庫資料的存放位置,由于我的c盤還有足夠空間,就采用了預設值,使用者可根據具體修改,如下圖:
⑥ 設定完安裝位置之後,再選擇預設值進入資料庫字元集的設定。選擇“best support for multilingualism”後點選“next”,如下圖:
⑦ 再依次選擇預設值進入資料庫安全設定,密碼修改為“changeme123”後選擇“next”,如下圖:
⑧ 再依次選擇預設值,配置成功後會出現如下界面:
4、檢視mysql是否安裝成功
① 選擇“開始 > 所有程式 > mysql > mysql server 5.5 > mysql 5.5 command line client”,進入mysql的用戶端
② 在用戶端中輸入上面配置時的密碼“changeme123”,回車。若能出現下圖則說明安裝和配置均已成功
二、配置hibernate
1、下載下傳hibernate
② 從d:\hibernate-release-4.3.0.final\lib\required中複制hibernate-core-4.3.0.final.jar到d:\medical\war\web-inf\lib下
③ 把hibernate-core-4.3.0.final.jar導入到medical工程中
2、配置hibernate
① 在d:\medical\war\etc下建立hibernate.cfg.xml檔案
② 向hibernate.cfg.xml中填充如下内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<code><?</code><code>xml</code> <code>version</code><code>=</code><code>"1.0"</code> <code>encoding</code><code>=</code><code>"utf-8"</code><code>?></code>
<code><!doctype hibernate-configuration public</code>
<code> </code><code>"-//hibernate/hibernate configuration dtd 3.0//en"</code>
<code> </code><code>"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"></code>
<code><</code><code>hibernate-configuration</code><code>></code>
<code> </code><code><</code><code>session-factory</code><code>></code>
<code> </code><code><!--設定資料庫連接配接--></code>
<code> </code><code><</code><code>property</code> <code>name</code><code>=</code><code>"connection.driver_class"</code><code>>com.mysql.jdbc.driver</</code><code>property</code><code>></code>
<code> </code><code><</code><code>property</code> <code>name</code><code>=</code><code>"connection.url"</code><code>>jdbc:mysql://localhost:12306/medical</</code><code>property</code><code>></code>
<code> </code><code><</code><code>property</code> <code>name</code><code>=</code><code>"connection.username"</code><code>>root</</code><code>property</code><code>></code>
<code> </code><code><</code><code>property</code> <code>name</code><code>=</code><code>"connection.password"</code><code>>changeme123</</code><code>property</code><code>></code>
<code> </code><code><!--資料庫連接配接池個數--></code>
<code> </code><code><</code><code>property</code> <code>name</code><code>=</code><code>"connection.pool_size"</code><code>>40</</code><code>property</code><code>></code>
<code> </code><code><!-- sql方言,這邊設定的是mysql --></code>
<code> </code><code><</code><code>property</code> <code>name</code><code>=</code><code>"dialect"</code><code>>net.sf.hibernate.dialect.mysqldialect</</code><code>property</code><code>></code>
<code> </code><code><</code><code>property</code> <code>name</code><code>=</code><code>"current_session_context_class"</code><code>>thread</</code><code>property</code><code>></code>
<code> </code><code><</code><code>property</code> <code>name</code><code>=</code><code>"cache.provider_class"</code><code>>org.hibernate.cache.internal.nocacheprovider</</code><code>property</code><code>></code>
<code> </code><code><!—為true表示将hibernate發送給資料庫的sql顯示出來 --></code>
<code> </code><code><</code><code>property</code> <code>name</code><code>=</code><code>"show_sql"</code><code>>true</</code><code>property</code><code>></code>
<code> </code><code></</code><code>session-factory</code><code>></code>
<code></</code><code>hibernate-configuration</code><code>></code>
【備注】:關于此配置檔案的具體含義,感興趣的使用者可以在谷歌中搜尋一下,有很多文章介紹參數的含義
三、資料庫工具封裝
1、結合medical封裝資料庫工具方法
① 在系統登入類framelauncher的init()方法中調用資料表映射初始化方法
// 加載資料表映射檔案
frameconfigutil.initdbconfig(context);
② 在系統配置工具類中新增initdbconfig()方法,該方法用于把d:\medical\war\etc\mapping下的映射檔案初始化後放置到sessionfactory中,以便後面資料庫工具可以通過映射類操作資料表
【備注】:【待續】。由于近段工作較忙,該文在3個月之前寫的了,思路有些打斷。