做試卷管理系統(tǒng)的時(shí)候,寫(xiě)了一個(gè)操作數(shù)據(jù)庫(kù)的工具,它與數(shù)據(jù)庫(kù)的具體的表,屬性都無(wú)關(guān):Tabel t=DB.getTabel("user")后可以操作相應(yīng)的數(shù)據(jù)表,只要這個(gè)名為user的表存在,t.search(property[][],start,limit)傳入一個(gè)屬性數(shù)組,property比如可以為{{"username","admin"},{"password","admin"}....},然后數(shù)據(jù)庫(kù)就可以在user表中查找username="admin"....的記錄,start,limit是查找起始點(diǎn)和數(shù)目限制,js分頁(yè)時(shí)用到。
這樣一來(lái),servlet也可以和具體的表,屬性無(wú)關(guān),只和幾個(gè)通用屬性有關(guān),如tableName,id(主鍵也可以為別的,在config.properties中配置),start,limit等等和具體數(shù)據(jù)庫(kù)無(wú)關(guān)的。奇妙就在這里:不管數(shù)據(jù)庫(kù)有多少?gòu)埍恚瑢?duì)于與每一個(gè)操作,servlet只有一個(gè),如Edit,而不需要EditUser,EditPaper....等等很多edit了。同樣以后系統(tǒng)怎樣擴(kuò)展,怎樣增加表,表的屬性怎樣變化。servlet都可以不變,他只是操作相應(yīng)的數(shù)據(jù)。那么具體的業(yè)務(wù)操作呢?
js為這些帶來(lái)了可能,它與返回的數(shù)據(jù)交互操作,和在服務(wù)器沒(méi)有兩樣,為servlet省去了麻煩。
以上是我個(gè)人感想,僅供參考。
操作數(shù)據(jù)庫(kù)的工具和寫(xiě)的servlet參見(jiàn) 自己動(dòng)手做試卷管理系統(tǒng)的幾篇隨筆。js不好意思公開(kāi)了,這是給別人做的小項(xiàng)目。