監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購(gòu)買價(jià)格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

設(shè)計(jì)以及設(shè)計(jì)模式:非主流存儲(chǔ)數(shù)據(jù)方式

申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114

文章來(lái)源:泛普軟件

數(shù)據(jù)會(huì)存到哪兒,在仔細(xì)考慮這個(gè)問(wèn)題前,我肯定毫無(wú)疑問(wèn)的說(shuō),肯定存數(shù)據(jù)庫(kù)唄。其實(shí)不然,想想很多網(wǎng)站的圖片就沒(méi)有存到數(shù)據(jù)庫(kù),直接保存到文件系統(tǒng)。再比如寫配置信息,既可能存到文件里,也可能存到數(shù)據(jù)庫(kù)里。除了這流行的方式外,,還有沒(méi)有別的地方可以存數(shù)據(jù)呢。

答案是有的??梢源嬖诔绦蚶?。最常見(jiàn)的例子是直接把配置信息寫在Java類的屬性里,這樣的好處是容易該,如果需要改邏輯又需要改配置信息,這樣只要在代碼里修改就好了,省的倆頭改(程序和配置文件),比如以下代碼

public class DBHelper {

private static String url = "jdbc:mysql://localhost/warehouse?user=root&password=";

static {

try {

Class.forName("com.mysql.jdbc.Driver").newInstance();

} catch (Exception ex) {

ex.printStackTrace();

throw new RuntimeException("沒(méi)有找到驅(qū)動(dòng)!");

}

}

public static Connection getConnection() {

try {

Connection conn =

DriverManager.getConnection(url);

return conn;

} catch (SQLException ex) {

// handle any errors

ex.printStackTrace();

throw new RuntimeException("獲取數(shù)據(jù)庫(kù)連接錯(cuò)誤!");

}

}

 

這個(gè)DBHelper 搞定一切,哪怕你是以后遇到切換成連接池,數(shù)據(jù)庫(kù)IP地址更改或者數(shù)據(jù)庫(kù)變成Oralce的需求。

在舉一個(gè)列子,數(shù)據(jù)庫(kù)里一個(gè)表放有注冊(cè)用戶信息,你也許想在首頁(yè)上顯示到目前為止會(huì)員姓李的有多少個(gè),姓張的有多少個(gè),姓王的有多少個(gè).完成這個(gè)需求,一般的思路是后臺(tái)程序定期統(tǒng)計(jì),然后倒入到一個(gè)數(shù)據(jù)庫(kù)表里,這個(gè)表內(nèi)容大概如下:

LastName total

李 778,000

張 478,000

王 218,000

然后寫一打端MVC程序去顯示在主頁(yè)上。這種方法是很好,不過(guò)還有更簡(jiǎn)單的方法,那就是不用數(shù)據(jù)庫(kù),后臺(tái)統(tǒng)計(jì)程序直接生成包含這些統(tǒng)計(jì)信息的JSP頁(yè)面就成。這樣的好處是省掉很多程序,而且維護(hù)也很方便,比如如果想夸大張姓人數(shù),那直接改JSP好了,誰(shuí)都會(huì),保證不出錯(cuò)

還有一個(gè)不太常用一個(gè)列子,可以把圖片二進(jìn)制編碼后當(dāng)著一個(gè)字符串屬性,這樣就省的去讀圖片了,如公司的Logo信息或者你的產(chǎn)品的Logo

其實(shí)把數(shù)據(jù)放到程序里應(yīng)該很廣泛的,比如老的C程序,再比如匯編程序都是數(shù)據(jù)和邏輯放到一起。只是由于現(xiàn)在MVC流行,數(shù)據(jù)被當(dāng)著單獨(dú)的一部分考慮了,這要好處很多,但有時(shí)候,可以考慮以下非主流的方式,其好處就是倆個(gè)字:簡(jiǎn)單。(IT專家網(wǎng)論壇)

發(fā)布:2007-04-21 14:07    編輯:泛普軟件 · xiaona    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章:

泛普長(zhǎng)春OA行業(yè)資訊其他應(yīng)用

長(zhǎng)春OA軟件 長(zhǎng)春OA新聞動(dòng)態(tài) 長(zhǎng)春OA信息化 長(zhǎng)春OA快博 長(zhǎng)春OA行業(yè)資訊 長(zhǎng)春軟件開(kāi)發(fā)公司 長(zhǎng)春門禁系統(tǒng) 長(zhǎng)春物業(yè)管理軟件 長(zhǎng)春倉(cāng)庫(kù)管理軟件 長(zhǎng)春餐飲管理軟件 長(zhǎng)春網(wǎng)站建設(shè)公司