ORM的實(shí)現(xiàn)原理:其實(shí),要實(shí)現(xiàn)JavaBean的屬性到數(shù)據(jù)庫(kù)表的字段的映射,任何ORM框架不外乎是讀某個(gè)配置文件把JavaBean的屬 性和數(shù)據(jù)庫(kù)表的字段自動(dòng)關(guān)聯(lián)起來(lái),當(dāng)從數(shù)據(jù)庫(kù)Query時(shí),自動(dòng)把字段的值塞進(jìn)JavaBean的對(duì)應(yīng)屬性里,當(dāng)做INSERT或UPDATE時(shí),自動(dòng)把 JavaBean的屬性值綁定到SQL語(yǔ)句中。但是,幾乎所有的ORM都提供“按需讀取”的功能,比如一個(gè)User有id,name,email和 address這4個(gè)字段,但是address字段很少用,于是ORM只讀取前3個(gè)字段,直到調(diào)用User的getAddress()方法時(shí),才去數(shù)據(jù)庫(kù) 中讀取address的值。這個(gè)功能顯然不能通過(guò)User的get/set完成,因此,ORM需要采用某種方式生成一個(gè)User類的子類,并且覆寫(xiě)get /set方法,這樣,才能在調(diào)用get方法時(shí)有機(jī)會(huì)從數(shù)據(jù)庫(kù)中讀取。類似的對(duì)User的修改檢測(cè)也是這樣實(shí)現(xiàn)的。
只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。 | ||
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問(wèn)
管理
|
||