資料訪問層學習

2021-04-01 10:00:58 字數 4709 閱讀 9734

1.1

資料

-元資料

-元元資料的三層結構

資料:指業務系統中儲存的業務資料。

元資料:即資料的資料,乙個物件的元資料用來描述此物件。

元元資料:元資料的元資料。

1.2

ecc

(engine-collection-class

)模式資料訪問

在乙個系統的業務實體或資料物件中,實體的主要操作有:初始化、讀取資料、刪除、儲存資料等等,實體的主要屬性有:實體例項的資料、實體的元資料、實體的狀態等等。

當表示乙個業務實體的多個例項(如十個使用者的集合)時,我們一般都採用系統提供的集合或資料來儲存,這種方法實現起來簡便,但當我們對這些例項再進行操作時,一方面會增加複雜性,也有可能會大大降低效率,並且不太容易進行擴充套件和修改。

在ecc

模式中,我們將乙個資料物件操作和資料分離,

engine

主要負責資料物件的訪問和初始化操作,完成資料物件例項的建立,

class

主要用來表示資料物件的乙個例項,包括例項的資料和例項的元資料、狀態等等。然後我們將表示資料物件例項集合的型別也進行封裝,用

collection

來表示,其中封裝相應的操作和屬性,如集合中元素個數、增加或刪除乙個元素、訪問指定位置的元素等等。此模式模型如下圖所示:

1.3

collection-class

的資料儲存方式

collection

在記憶體中的資料儲存我們可以看作是乙個二維的**,在**中第一行代表乙個資料物件例項,**的行數即為

collection

中的元素個數。**的每一列代表資料物件的乙個屬性,資料物件的位置確定,屬性名稱確定,即可以確定相應的屬性值。

class

對應collection

的二維**上的一行,在設計時,我們在

class

中不儲存具體的資料,只儲存

class

所在的collection

的引用和

class

在collection

中的位置,這樣我們就可以實現

class

的各個屬性的訪問。

1.4

使用方法 1)

資料訪問配置工具:生成配置檔案

.config

初始化配置檔案、提供定製工具對配置檔案進行定製等等。 2)

資料物件定製工具:定製資料物件 3)

資料物件資料匯入匯出工具:

對資料庫中的資料物件的資料進行匯出和匯入操作。

**示例一:

//public string example() //

**示例二:

///

///

表示乙個使用者物件。

///

public

class user:classgeneral

set }

///

///使用者登陸名稱

///

///

public

string name

set }

///

///使用者真實名稱

///

///

public

string truename

set }

///

///

使用者密碼

///

///

使用者密碼

public

string password

}

public

bool passswordis(string val)

///

///

使用者描述

///

///

使用者描述

public

string description

set }

public guid fgid

set }

public guid dgid

set }

public

int sequence

set }

///

///使用者所在的組

///

///

使用者所在的組

public department department

else

} }

}

///

///

表示使用者物件的集合。

///

public

class usercollection:collectiongeneral

}

///

///

用來訪問使用者物件的資料。

///

public

class userengine:enginegeneral

public

static user newuser()

public

static

bool update(user col)

///

///

根據使用者id查詢使用者物件。

///

///

使用者id

///

得到的使用者物件

public

static user searchbyid(string struserid)

///

///

根據部門id,查詢部門中人員的集合

///

///

部門id

///

滿足條件的使用者集合

public

static usercollection searchbydeptid(string strdeptid)

///

///

根據角色id,查詢部門中人員的集合。

///

///

角色id

///

滿足條件的使用者集合

public

static arraylist searchbyroleid(string strroleid)

}

return userlist; }

///

///根據崗位的id,查詢崗位中的人員集合

///

///

public

static usercollection searchbyposid(string strdeptid,string strroleid)

public

static usercollection searchall()

public

static usercollection searchbyname(string username)

}

要點:

1.

三個關鍵的類

enginegeneral

:擴充套件此類主要是提供更具體的資料訪問操作,如此類提供的讀取資料的操作一般是賦予查詢內容、查詢規則等屬性後,進行讀取資料物件的功能,在此基礎上可以擴充套件出具體業務物件的訪問操作,如對於

user

物件的查詢引擎的可以擴充套件方法

getbyuserid

、getbyusername

、updateusercollection

、updateuser

等等。collectiongeneral

:此類封裝資料物件集合的資料和基本操作方法,如對資料物件的訪問、基於此集合的記憶體查詢等等,但都是較通用的方法,擴充套件此類主要是提供更通用的操作,如對

user

物件的集合物件可以擴充套件方法

finduserbyid

、findbyname

等等。classgeneral

:此類提供對資料物件的資料的封裝,所有資料物件的屬性以屬性列表的形式提供,所以在訪問時前提是要知道所訪問屬屬的名稱,並且在編碼時不能使用

ide提供的智慧型提示功能,對此類的擴充套件主要是硬編碼物件的屬性,以利於訪問者的使用。如對

user

的物件類可以擴充套件屬性:

userid

、name

、description

等等。但是由於單個物件還可能包括其它的操作,如使用者密碼在資料庫儲存的加密、訪問此使用者物件的部門屬性等等,可以在此類中擴充套件。

2.

對上面三個類的封裝

userengine:enginegeneral

usercollection:collectiongeneral

user:classgeneral

資料訪問層

using system.collections.generic using system.data using system.data.common namespace adonetdataaccess.core.contract 上面的介面包括增刪改查,批量插入以及 資料庫連線物件的連線和關閉等...

資料訪問層

1 資料持久化 持久化是將程式中資料在瞬時狀態和持久狀態間轉換的機制。jdbc是一種持久化機制,將程式直接儲存成文字檔案也是持久化機制的一種實現。2 資料訪問模式 dao模式 dao dataaccessobjects,資料儲存物件 是指位於業務邏輯和持久化資料之間實現實現對持久化資料的訪問。dao...

資料訪問層

資料訪問層 一.持久化 是將程式中的資料在瞬間狀態和持久狀態間轉換的機制 二.主要持久化操作 1.儲存 2.刪除 3.修改 4.讀取 5.查詢 等 三.dao dataaccessobjects,資料儲存物件 指位於業務邏輯和持久化資料之間實現對持久化資料的訪問。四.dao模式的優勢 1.隔離了資料...