首先介紹Solution的架構(gòu),一共分四個(gè)項(xiàng)目:
Web :前臺(tái)應(yīng)用;
BLL :業(yè)務(wù)處理層,如果嫌麻煩,可以再進(jìn)一步抽象出來(lái),然后將代碼放置Web層的aspx.cs里面;
Model :這個(gè)就不多說(shuō)了,地球人都知道(數(shù)據(jù)實(shí)體類)
SqlMaps:資源類,把配置文件和sql mapper文件全部打包起來(lái)。
二個(gè)文件夾:
Include :iBatis.Net架構(gòu)的dll文件
Log :放置log文件的文件夾,在web.config里配置
1.在一些特定的環(huán)境下,一站式的解決方案未必有效
系統(tǒng)的部分或全部數(shù)據(jù)來(lái)自現(xiàn)有數(shù)據(jù)庫(kù),處于安全考慮,只對(duì)開發(fā)團(tuán)隊(duì)提供幾條Select SQL(或存儲(chǔ)過(guò)程)以獲取所需數(shù)據(jù),具體的表結(jié)構(gòu)不予公開。
開發(fā)規(guī)范中要求,所有牽涉到業(yè)務(wù)邏輯部分的數(shù)據(jù)庫(kù)操作,必須在數(shù)據(jù)庫(kù)層由存儲(chǔ)過(guò)程實(shí)現(xiàn)。(銀行大多有這樣的限制)
系統(tǒng)數(shù)據(jù)處理量巨大,性能要求極為苛刻,這往往意味著我們必須通過(guò)經(jīng)過(guò)高度優(yōu)化的SQL語(yǔ)句(或存儲(chǔ)過(guò)程)才能達(dá)到系統(tǒng)性能設(shè)計(jì)指標(biāo)。
2.iBATIS之于小型、簡(jiǎn)單系統(tǒng):非常適用
iBATIS自己就很小并且簡(jiǎn)單
iBATIS不會(huì)對(duì)現(xiàn)存應(yīng)用的設(shè)計(jì)或者數(shù)據(jù)庫(kù)結(jié)構(gòu)強(qiáng)加任何影響
iBATIS非常適合于有成長(zhǎng)趨勢(shì)的系統(tǒng)
3.iBATIS之于大型、企業(yè)級(jí)系統(tǒng):為之而設(shè)計(jì)
iBATIS的某些特性使得它能夠高效地處理大型數(shù)據(jù)集
iBATIS允許你用多種方式建立從對(duì)象到數(shù)據(jù)庫(kù)的映射關(guān)系
MySpace已應(yīng)用
4.使用于任何類型的關(guān)系數(shù)據(jù)庫(kù):
應(yīng)用數(shù)據(jù)庫(kù)
企業(yè)數(shù)據(jù)庫(kù)
私有數(shù)據(jù)庫(kù)
遺留數(shù)據(jù)庫(kù)
簡(jiǎn)單性
性能
明確分工
可移植性:Java、.Net或者其他
開源
5.何時(shí)不該使用iBATIS
當(dāng)你能永遠(yuǎn)擁有完全控制權(quán)
當(dāng)你的應(yīng)用需要完全動(dòng)態(tài)的SQL
當(dāng)你并沒有使用關(guān)系數(shù)據(jù)庫(kù)時(shí)
當(dāng)iBATIS不起作用時(shí)
DB_51aspx下為Sql數(shù)據(jù)庫(kù),附加后修改SqlMaps/database.config的Sql配置文件并編譯才能生效