锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产成人久久精品大牛影视,国产午夜亚洲精品不卡免下载,亚洲精品无码不卡http://m.tkk7.com/oscar-1981/category/7271.htmlzh-cnWed, 28 Feb 2007 08:18:12 GMTWed, 28 Feb 2007 08:18:12 GMT60Ruby on Rails 鍜?J2EE錛氫袱鑰呰兘鍚﹀叡瀛橈紵http://m.tkk7.com/oscar-1981/articles/29888.html澶╃敓鎴戞墠澶╃敓鎴戞墠Wed, 08 Feb 2006 02:05:00 GMThttp://m.tkk7.com/oscar-1981/articles/29888.htmlhttp://m.tkk7.com/oscar-1981/comments/29888.htmlhttp://m.tkk7.com/oscar-1981/articles/29888.html#Feedback0http://m.tkk7.com/oscar-1981/comments/commentRss/29888.htmlhttp://m.tkk7.com/oscar-1981/services/trackbacks/29888.html涓や釜 Web 搴旂敤紼嬪簭妗嗘灦鐨勬瘮杈?/SPAN>

綰у埆: 楂樼駭

Aaron Rustad
鎶鏈灦鏋勫笀, Anassina, Inc.
2005 騫?8 鏈?11 鏃?/P>

Ruby on Rails 鏄竴涓浉瀵硅緝鏂扮殑 Web 搴旂敤紼嬪簭妗嗘灦錛屾瀯寤哄湪 Ruby 璇█涔嬩笂銆傚畠琚浼犱負鐜版湁浼佷笟妗嗘灦鐨勪竴涓浛浠o紝鑰屽畠鐨勭洰鏍囷紝綆鑰岃█涔嬶紝灝辨槸璁╃敓媧伙紝鑷沖皯鏄?Web 寮鍙戞柟闈㈢殑鐢熸椿錛屽彉寰楁洿杞繪澗銆傚湪鏈枃涓紝Aaron Rustad 灝嗗 Rails 鍜屼紶緇熺殑 J2EE 妗嗘灦鍦ㄦ灦鏋勪笂鐨勪竴浜涘叧閿壒鎬ц繘琛屾瘮杈冦?/BLOCKQUOTE>

Ruby on Rails 鏄竴涓?Web 搴旂敤紼嬪簭妗嗘灦錛屽畠鐨勭洰鏍囨槸涓哄簲鐢ㄧ▼搴忓紑鍙戞彁渚涗竴鏉℃槗琛岄亾銆傚疄闄呬笂錛屾鏋剁殑鏀寔鑰呬滑澹扮О Ruby on Rails 寮鍙戜漢鍛樼殑鐢熶駭鐜囨渶澶氭槸浣跨敤浼犵粺 J2EE 妗嗘灦鐨?10 鍊嶃傦紙璇烽槄璇燴淩olling with Ruby on Rails鈥濅竴鏂囷紝浠ヨ幏寰楀叧浜庤繖涓澹版槑鐨勬洿澶氬唴瀹癸紱璇峰弬闃?鍙傝冭祫鏂?/A>錛夈傝櫧鐒惰繖鍙ヨ瘽閫犳垚浜?Rails 鍜?J2EE 紺懼尯鐩稿綋澶х殑浜夎錛屼絾浜夎涓嵈寰堝皯璋堝強濡備綍姣旇緝 Rails 鍜?J2EE 鏋舵瀯銆傛湰鏂囧皢浣跨敤浼佷笟搴旂敤紼嬪簭涓父瑙佺殑寮婧愬伐鍏鳳紝瀵?Rails 妗嗘灦鍜屽吀鍨嬬殑 J2EE 瀹炵幇榪涜姣旇緝銆?/P>

浠涔堟槸 Ruby on Rails錛?/SPAN>
瑕佹兂鎵懼埌鐢ㄤ竴鍙ヨ瘽鎻忚堪 Rails 鐨勭畝鍗曡鏄庯紝鍙渶鏌ョ湅欏圭洰鐨?涓婚〉 鍗沖彲錛?/P>

Rails 鏄竴涓敤 Ruby 緙栧啓鐨勫叏鏍堢殑錛坒ull-stack錛夈佸紑婧愮殑 Web 妗嗘灦錛屽彲浠ヤ嬌鐢ㄥ畠鏉ヨ交鏉劇紪鍐欏疄闄呯殑搴旂敤紼嬪簭錛屾墍闇鐨勪唬鐮佷篃瑕佹瘮澶у鏁版鏋惰姳鍦ㄥ鐞?XML 涓婄殑浠g爜灝戙?

铏界劧鎴戜笉鑳戒繚璇佹鏋剁‘瀹炰細鎻愪緵瀹冩墍鎵胯鐨勮交鏉懼揩涔愶紝浣嗘槸涓婇潰榪欏彞璇濈‘瀹炲緢濂藉湴鎬葷粨浜?Rails 鐨勫搧璐ㄣ傚叏鏍堝寘鎷細Web 鏈嶅姟鍣ㄣ佸鐞?HTTP 璇鋒眰鍜屽搷搴旂殑妗嗘灦錛屼互鍙婃柟渚垮湴鎶婃暟鎹寔涔呭瓨鍌ㄥ埌鍏崇郴鏁版嵁搴撶殑妗嗘灦銆俁ails 閫氳繃娑堥櫎澶嶆潅鐨?XML 閰嶇疆鏂囦歡錛屼嬌鐢?Ruby 璇█鐨勫姩鎬佹ц川錛屽府鍔╂妸闈欐佺被鍨嬭璦涓父瑙佺殑璁稿閲嶅浠g爜鍑忓皯鍒版渶灝戯紝鍔姏浣垮紑鍙戝伐浣滃彉寰楁洿瀹規槗銆?/P>

Rails 鍜屽吀鍨嬬殑 J2EE Web 鍫嗘爤
鍥?1 姣旇緝浜?Rails 鍫嗘爤鍜屽吀鍨嬬殑 J2EE Web 鍫嗘爤錛堝寘鎷?Tomcat servlet 瀹瑰櫒銆丼truts Web 搴旂敤紼嬪簭妗嗘灦鍜?Hibernate 鎸佷箙鎬ф鏋訛級銆?/P>

鍥?1. Rails 鍜?J2EE 鍫嗘爤鐨勬瘮杈?
Rails 鍜?J2EE 鍫嗘爤鐨勬瘮杈? height=248 src=

鍙互鐪嬪埌錛孯ails 鍫嗘爤鍜屾瀯鎴愭櫘閫氱殑鍩轟簬 J2EE 鐨?Web 搴旂敤紼嬪簭鐨勭粍浠朵箣闂寸殑鍩烘湰鍖哄埆寰堝皬銆備袱鑰呴兘鏈夌敤鏉ユ墽琛屽簲鐢ㄧ▼搴忎唬鐮佺殑瀹瑰櫒錛涢兘鏈夊府鍔╁垎紱誨簲鐢ㄧ▼搴忕殑妯″瀷銆佽鍥懼拰鎺т歡鐨?MVC 妗嗘灦錛涗互鍙婃寔涔呭瓨鍌ㄦ暟鎹殑鏈哄埗銆?/P>

MVC 妗嗘灦
妯″瀷-瑙嗗浘-鎺у埗鍣紙MVC錛夋槸搴旂敤鏃墮棿鐩稿綋闀褲佸簲鐢ㄩ潰鐩稿綋騫跨殑涓涓璁℃ā寮忋傚畠婧愯嚜 Smalltalk錛涘浠婏紝鍑犱箮鎵鏈夌殑 GUI 妗嗘灦錛屽寘鎷?Web 鍜岃儢瀹㈡埛绔紝閮戒互璇ユ鏋朵負鍩虹銆侻VC 鏈変笁涓儴鍒嗭細妯″瀷錛岃礋璐d笟鍔¢昏緫錛屽寘鎷簲鐢ㄧ▼搴忕姸鎬佸拰灝嗗湪榪欎釜鐘舵佷笂鎵ц鐨勫姩浣滐紱瑙嗗浘錛岀敤鏉ユ覆鏌撳拰鍚戠敤鎴峰憟鐜版ā鍨嬶紙鍦?Web 搴旂敤紼嬪簭涓紝瑙嗗浘涓鑸覆鏌撲負 HTML錛夛紱鎺у埗鍣?/I>錛屽畾涔夊簲鐢ㄧ▼搴忕殑琛屼負銆傛湁鍏?MVC 妯″紡鐨勮緇嗚В閲婏紝璇峰弬闃?鍙傝冭祫鏂?/A>銆?/P>

鍓嶇鎺у埗鍣?/SPAN>
Struts 鐨?ActionServlet 鍜?Rails 鐨?DispatchServlet 閮芥槸鍓嶇鎺у埗鍣ㄦā寮忕殑渚嬪瓙錛涙墍浠ワ紝瀹冧滑鎻愪緵浜嗙浉鍚岀殑鍔熻兘銆傚畠浠帴鍙?HTTP 璇鋒眰錛岃В鏋?URL錛屾妸璇鋒眰鐨勫鐞嗚漿鍙戠粰閫傚綋鐨勫姩浣溿傚湪 Struts 涓紝鍔ㄤ綔鏄墿灞曡嚜 Action 鐨勭被錛涘浜?Rails錛屽姩浣滄槸鎵╁睍鑷?ActionController 鐨勭被銆備袱涓墠绔帶鍒跺櫒涔嬮棿鐨勪富瑕佸尯鍒槸瀹冧滑濡備綍鍐沖畾澶勭悊鍏蜂綋璇鋒眰鐨勫姩浣溿?/P>

浣跨敤 Struts錛屽紑鍙戜漢鍛橀渶瑕佹妸鐗瑰畾璇鋒眰鐨勬槧灝勫閮ㄥ寲鍒?XML 閰嶇疆鏂囦歡涓殑 Action 綾匯傚綋棣栨瑁呭叆 ActionServlet 鏃訛紝瀹冨皢瑙f瀽榪欎釜鏂囦歡錛屽茍鍑嗗鎺ュ彈璇鋒眰銆傛牴鎹害瀹氾紝浠?.do 緇撴潫鐨勮姹傝閲嶅畾鍚戝埌 ActionServlet錛岀敱 ActionServlet 鍒嗘淳鍒伴傚綋鐨?Action銆?A xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">鍥?2 鐨?XML 鏄竴涓吀鍨嬬殑鏄犲皠銆傚畠鍛婅瘔 ActionServlet 鎶婂彨浣?deleteOrder.do 鐨勮姹傝漿鍙戝埌 controllers.order.DeleteOrderAction 浣滆繘涓姝ュ鐞嗐?/P>

Rails 閲囩敤浜嗕笉鍚岀殑鏂瑰紡銆傚畠娌℃湁渚濊禆閰嶇疆鏂囦歡鎶婅姹傛槧灝勫埌鏌愪竴涓姩浣滐紝鑰屾槸鏍規嵁璇鋒眰鐨?URL 鍙戠幇閫傚綋鐨勫姩浣溿備粠鍥?2 鍙互鐪嬪埌錛孶RL http://localhost/order/delete/4 鍛婅瘔 Rails 璋冪敤 OrderController 瀹炰緥涓婄殑 delete 鏂規硶錛屽茍灝?4 浣滀負鍙敤鐨勫疄渚嬪彉閲忋俁ails 瓚沖鑱槑錛岀煡閬?/order 灝嗘槧灝勫埌鏂囦歡 order_controller.rb 涓畾涔夌殑涓涓帶鍒跺櫒綾匯傚鏋滃湪鎺у埗鍣ㄤ腑瀹氫箟浜?find 鏂規硶錛岄偅涔堝彧瑕佺敤 find 鏇夸唬 URL 涓殑 delete錛屽氨鍙互璋冪敤榪欎釜鏂規硶銆?/P>

鍥?2. Rails 鍜?Struts 涓殑 URL 鏄犲皠
Rails 鍜?Struts 涓殑 URL 鏄犲皠

鍔ㄤ綔鍜屾ā鍨?/SPAN>
鍦?Rails 鍜?Struts 涓紝鍔ㄤ綔鐢ㄦ潵鍏呭綋鍓嶇鎺у埗鍣ㄥ拰妯″瀷涔嬮棿鐨勬ˉ姊併傚紑鍙戜漢鍛樻彁渚涘姩浣滅殑鐜板疄錛屼粠鑰屾彁渚涚壒瀹氫簬搴旂敤紼嬪簭鐨勮姹傚鐞嗐傚墠绔帶鍒跺櫒璐熻矗鎺ュ彈璇鋒眰錛屽茍鎶婅姹備紶閫掑埌鐗瑰畾鍔ㄤ綔銆傚浘 3 婕旂ず浜?Rails 鍜?Struts 鍩烘湰鐨勫姩浣滃眰嬈$粨鏋勩?/P>

鍥?3. Rails 鍜?Struts 鐨勫姩浣滃眰嬈$粨鏋?/B>
Rails 鍜?Struts 鐨勫姩浣滃眰嬈$粨鏋? height=200 src=

鍔ㄤ綔鏄ā鍨嬭繕鏄帶鍒跺櫒錛?/B>
Action 鍜?ActionController 浠庢妧鏈笂璁叉槸 MVC 妯″紡鐨勬帶鍒跺櫒鐨勪竴閮ㄥ垎錛屽洜涓哄畠浠瀹㈡埛鍙戣搗鐨勪簨浠惰繘琛屽搷搴斻備絾鏄紝鍦ㄥ皬鍨嬪簲鐢ㄧ▼搴忎腑錛屽紑鍙戜漢鍛橀氬父鍦ㄨ繖浜涚被涓鍩熸垨涓氬姟閫昏緫榪涜緙栫爜錛屾墍浠ュ湪榪欎簺鎯呭喌涓嬶紝涔熷彲浠ユ妸瀹冧滑鐪嬩綔鏄ā鍨嬬殑涓閮ㄥ垎銆傛渶浣沖疄璺靛緩璁細搴斿綋鎶婂煙閫昏緫浠庢帶鍒跺櫒涓娊璞″嚭鏉ワ紝鏀劇疆鍦ㄥ畠鑷繁鐨勭壒瀹氫簬鍩熺殑綾諱腑銆?/P>

Struts 瑕佹眰寮鍙戜漢鍛樻墿灞?Action 騫惰鐩?execute()錛屼互澶勭悊璇鋒眰銆傞氬父錛屾瘡涓?Action 綾婚兘鎻愪緵浜嗛潪甯稿叿浣撶殑宸ヤ綔鍗曞厓銆?A xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">鍥?3 婕旂ず浜嗕笁涓壒瀹氬姩浣滐細SaveOrderAction銆?CODE>DeleteOrderAction 鍜?ListOrdersAction銆傚墠绔帶鍒跺櫒灝嗚皟鐢?execute() 鏂規硶錛屼紶閫掔粰瀹冭澶氭湁鐢ㄧ殑瀵硅薄錛屽叾涓寘鎷?HTTP 璇鋒眰鍜屽搷搴斿璞°?CODE>ActionForm 鏄竴涓被錛屽畠鍙互鏂逛究鍦板悜瑙嗗浘鏉ュ洖浼犺緭騫墮獙璇佷笌琛ㄥ崟鏈夊叧鐨勮緭鍏ワ紝ActionMapping 鍖呭惈鏄犲皠鐨勯厤緗俊鎭紝灝卞儚 鍥?2 鐨?XML 鎵鎻忚堪鐨勯偅鏍楓?/P>

execute() 鏂規硶榪斿洖 ActionForward 瀵硅薄錛孲truts 鐢ㄨ繖涓璞℃潵紜畾瀵硅姹傜戶緇繘琛屽鐞嗙殑緇勪歡銆備竴鑸潵璇達紝榪欎釜緇勪歡鏄竴涓?JSP 欏甸潰錛屼絾鏄?ActionForward 涔熻兘鎸囧悜鍏朵粬鍔ㄤ綔銆傚紑鍙戜漢鍛樺繀欏繪竻妤氾紝Struts 鍒涘緩鐨勬槸 Action 鐨勫崟涓瀹炰緥錛屽茍鍏佽澶氫釜綰跨▼璋冪敤瀹冪殑 execute()銆傝繖浣胯姹傚鐞嗗彉寰楁洿蹇紝鍥犱負妗嗘灦澶勭悊姣忎釜璇鋒眰鏃朵笉鐢ㄩ綣佸湴鍒涘緩鏂扮殑 Action 瀹炰緥銆備絾鏄洜涓哄彲浠ュ湪澶氫釜綰跨▼涔嬮棿鍏變韓鍗曚竴瀵硅薄錛屾墍浠ュ繀欏婚伒瀹堥傚綋鐨勭嚎紼嬫敞鎰忎簨欏癸紝鍥犱負鍏朵粬綰跨▼鍙兘浼氱牬鍧忓湪榪欎釜鍔ㄤ綔涓繚鎸佺姸鎬佺殑瀹炰緥鍙橀噺銆?/P>

鍦?Rails 涓紝蹇呴』鎵╁睍 ActionController::Base錛岃妯″瀷鍙備笌鍒拌姹傚鐞嗕腑銆俁ails 娌℃湁灝?ActionController 鐨勫疄渚嬫睜鍖栵紱鐩稿弽錛屽畠涓烘瘡涓姹傚垱寤烘柊鐨勫疄渚嬨傝櫧鐒惰繖瀵規ц兘鍙兘鏈夎礋闈㈠獎鍝嶏紝浣嗘槸瀹冨彲浠ヨ寮鍙戝彉寰楁洿瀹規槗銆傚紑鍙戜漢鍛樹笉闇瑕佸叧娉?Struts 涓瓨鍦ㄧ殑綰跨▼闂錛屽洜姝わ紝浼氳瘽銆佽姹傘佹爣棰樺拰鍙傛暟閮藉彲浠ヤ綔涓?ActionController 鐨勫疄渚嬫垚鍛樻潵榪涜璁塊棶銆?CODE>ActionController 榪樻槸涓涓皢鐗瑰畾鍩熼昏緫鐨勬墍鏈夊鐞嗙粍鍚堝湪涓璧風殑鍚堢悊鍦烘墍銆係truts 鐨?Action 綾繪槸緇嗙矑搴︾殑錛屽畠鎻愪緵浜嗛潪甯稿叿浣撶殑宸ヤ綔鍗曞厓錛岃?Rails ActionController 鍒欐槸綺楃矑搴︾殑錛屽畠灝嗗叿浣撶殑宸ヤ綔鍗曞厓妯℃嫙涓轟竴浜涙柟娉曘?/P>

娓呭崟 1 鍜?娓呭崟 2 鍒嗗埆婕旂ず浜嗗吀鍨嬬殑 Struts 鍔ㄤ綔鍜屽吀鍨嬬殑 Rails 鍔ㄤ綔

琛?1 鎻愪緵浜嗗涓ょ鏂規硶鐨勯昏緫嫻佺▼鐨勬瘮杈冿紝騫舵紨紺轟簡娓呭崟 1 鍜屾竻鍗?2 鐨勭壒瀹氳涓彂鐢熺殑浜嬫儏銆傜爺絀?DeleteOrderAction 鐨?execute() 鏂規硶鍜?OrderController 鐨?delete 鏂規硶錛屽彲浠ョ湅鍑哄畠浠熀鏈笂鏄浉鍚岀殑銆?/P>琛?1. execute() 鍜?delete 鏂規硶姣旇緝
姝ラ Struts Rails
妗嗘灦璋冪敤鍔ㄤ綔 琛?03錛?/B> execute() 琛?07錛?/B> delete
浠庤姹備腑媯绱㈠埌鐨?ID 琛?06-07錛?/B>浠庤姹傚璞′腑鍙栧嚭 琛?08錛?/B>浠庢墍鏈夊弬鏁扮殑瀹炰緥鍝堝笇涓彇鍑?/TD>
浠庢暟鎹簱鍒犻櫎璁㈠崟璁板綍 琛?09銆?4-24錛?/B>璋冪敤 delete() 鏂規硶錛岀敤 Hibernate 鍒犻櫎璁板綍 琛?09錛?/B>鐢?ActiveRecord 鍒犻櫎璁板綍
閲嶅畾鍚戝埌鍒楀嚭鍓╀綑璁㈠崟 琛?11錛?/B>鐢?ActionMapping 瀵硅薄鏌ユ壘灝嗚杞彂澶勭悊鐨勪笅涓涓粍浠躲?A xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">鍥?2 涓殑 XML 鏄犲皠鏄劇ず錛?CODE>success 灝嗘槧灝勫埌 /listOrders錛岃繖鏄彟涓涓?Action錛岃礋璐f煡鎵懼墿浣欒鍗曪紝騫朵互 JSP 鐨勫艦寮忓憟鐜板畠浠?/TD> 琛?10錛?/B>鐢ㄥ皢璋冪敤鐨勪笅涓鍔ㄤ綔鐨勫搱甯屾潵璋冪敤 redirect_to 鏂規硶錛涘湪榪欑鎯呭喌涓嬶紝瀹冨彧鏄皟鐢ㄥ悓涓鎺у埗鍣ㄧ殑 list 鏂規硶

鎸佷箙鎬ф鏋?/SPAN>
鎸佷箙鎬ф鏋?/I> 鐢ㄦ潵鍦ㄥ簲鐢ㄧ▼搴忓眰鍜屾暟鎹簱涔嬮棿鏉ュ洖縐誨姩鏁版嵁銆侶ibernate 鍜?Rails 鐨勬寔涔呮ф鏋跺彲浠ュ綊綾諱負瀵硅薄/鍏崇郴鏄犲皠錛圤RM錛夊伐鍏鳳紝榪欐剰鍛崇潃瀹冧滑鎺ュ彈鏁版嵁鐨勫璞¤鍥撅紝騫跺皢璇ヨ鍥炬槧灝勫埌鍏崇郴鏁版嵁搴撳唴鐨勮〃涓備嬌鐢ㄤ袱縐嶆鏋剁殑鐩殑閮芥槸涓轟簡鍑忓皯涓庡叧緋繪暟鎹簱鏈夊叧鐨勫紑鍙戞椂闂淬備絾鏄紝鍥?4 婕旂ず浜嗕袱鑰呭湪璁捐鍜岄厤緗笂鐨勪竴浜涙牴鏈尯鍒?

鍥?4. Active Record 鍜?Hibernate 鎸佷箙鎬ф鏋剁殑姣旇緝
 Active Record 鍜?Hibernate 鎸佷箙鎬ф鏋剁殑姣旇緝

Hibernate
Hibernate 鍩轟簬 Data Mapper 妯″紡錛屽湪榪欑妯″紡涓紝鐗瑰畾鐨勬槧灝勫櫒綾?Session 璐熻矗鍦ㄦ暟鎹簱涓寔涔呭瓨鍌ㄥ拰媯绱㈡暟鎹侶ibernate 鍙互鎸佷箙瀛樺偍浠諱綍 Java 瀵硅薄錛屽彧瑕佽繖涓璞$鍚?JavaBean 瑙勮寖銆俋ML 鏄犲皠鏂囦歡鎻忚堪浜嗗浣曞皢綾繪槧灝勫埌鏁版嵁搴撲腑鍏蜂綋鐨勮〃錛屽茍鎻忚堪浜嗙被涓庡叾浠栫被鐨勫叧緋匯?/P>

娓呭崟 3 鏄劇ず浜?Hibernate 鏄犲皠鏂囦歡鐨勪竴涓疄渚嬨?CODE>class 鏍囩鎶?Order 瀵硅薄鏄犲皠鍒?ORDERS 琛紝榪樻湁璁稿瀛愭爣絳劇敤浜庢弿榪板叾灞炴с両D 璁㈠崟鍚嶇О錛屼互鍙婂悓 models.Item 鐨勪竴瀵瑰鍏崇郴銆?A xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">娓呭崟 4 鏄劇ず浜?Order 綾繪湰韜?/P>娓呭崟 3. Order.hbm.xml


...
01 <hibernate-mapping>
02    <class name="models.Order" table="ORDERS"
03        dynamic-update="true" dynamic-insert="false"
04        discriminator-value="null">
05
06 	<id name="id" column="id" type="java.lang.Long" 
07             unsaved-value="null">
08             <generator class="identity"/>
09         </id>
10 
11         <set name="items" lazy="false" inverse="false"
12            cascade="none" sort="unsorted">
13             <key column="id"/>
14             <one-to-many class="models.Item"/>
15         </set>
16 
17         <property name="name" type="java.lang.String"
18             update="true" insert="true"
19             access="property" column="name"/>
20     </class>
21 </hibernate-mapping>
娓呭崟 4. Order.java


01 public class Order {
02    private Set items;
03     private String name;
04     private Long id;
05 
06     public Long getId() { return id;}
07 
08     public void setId(Long id) { this.id = id;}
09 	
10     public Set getItems() { return items;}
11 	
12     public void setItems(Set items) { this.items = items; }
13 	
14     public String getName() { return name; }
15 
16     public void setName(String name) { this.name = name; }
17 }

Active Record

鍙嶅皠鍜屽厓緙栫▼
Wikipedia 涓紙璇峰弬闃?鍙傝冭祫鏂?/A>錛夌畝瑕佸湴鎶?鍙嶅皠 瀹氫箟涓衡滅▼搴忓湪榪愯鐨勬椂鍊欐鏌ュ拰淇敼鍏墮珮綰х粨鏋勭殑鑳藉姏鈥濄傚湪閭i噷錛岃繕灝?鍏冪紪紼?/I> 瀹氫箟涓衡滅紪鍐欓偅浜涜兘澶熺紪鍐欏拰鎿嶄綔鍏朵粬鍏朵粬紼嬪簭錛堟垨瀹冧滑鑷繁錛夛紝灝嗗叾浠栫▼搴忎綔涓鴻嚜宸辯殑鏁版嵁鐨勭▼搴忥紝鎴栬呯紪鍐欓偅浜涘畬鎴愬叾浠栫▼搴忓湪榪愯鏃舵墍鍋氱殑閮ㄥ垎宸ヤ綔鐨勭▼搴忋傗?/P>

浠ヤ笅浠g爜灝嗗疄鐜板弽灝勶細


01 obj = "some_string"
02 if obj.respond_to?('length'):
03   puts "obj length = #{obj.length}" 
03 end
>> obj length = 5

榪欎釜浠g爜灝嗗疄鐜板厓緙栫▼錛?/P>

01 class SomeClass
02 end
03 newMethod = %q{def msg() puts "A message!" end}
04 SomeClass.class_eval(newMethod)
05 aClass = SomeClass.new
06 aClass.msg
>> A message!

Rails 鐨?ORM 妗嗘灦鍙綔 Active Record錛屽畠鍩轟簬鍚屽悕鐨勮璁℃ā寮忋侻artin Fowler 灝?Active Record 鎻忚堪涓衡滃寘瑁呮暟鎹簱琛ㄦ垨瑙嗗浘涓暟鎹鐨勫璞★紝灝佽鏁版嵁搴撹闂紝鍦ㄦ暟鎹笂娣誨姞鍩熼昏緫鈥濄傚湪 Rails 涓紝姣忎釜鍩熷璞¢兘灝嗘墿灞曟彁渚?CRUD 鎿嶄綔鐨?ActiveRecord::Base銆?/P>

涓?Hibernate 涓鏍鳳紝Active Record 涓嶉渶瑕佹槧灝勬枃浠訛紱瀹為檯涓婏紝浣跨敤 Active Record 鐨勫紑鍙戜漢鍛樹笉闇瑕佸 getter 鎴?setter銆佺敋鑷崇被鐨勫睘鎬ц繘琛岀紪鐮併傞氳繃涓浜涙紓浜殑璇嶆眹鍒嗘瀽錛孉ctive Record 鑳藉鍒ゆ柇鍑猴紝Order 綾誨皢鏄犲皠鍒版暟鎹簱涓殑 ORDERS 琛ㄣ備嬌鐢?Ruby 鍙嶅皠鍜屽厓緙栫▼鐨勭粍鍚堬紝琛ㄧ殑鍒楀彲浠ュ彉鎴愬璞$殑灞炴с傝闂櫒鍜岃皟鏁村櫒涔熸坊鍔犱簡榪涙潵銆?/P>

娓呭崟 5 鏄劇ず浜?Order 綾葷殑瀹屾垚鍚庣殑浠g爜銆傚湪 Order 綾諱綋涓湁涓琛屼唬鐮佸畾涔変簡瀹冧笌 Item 瀵硅薄鐨勫叧緋匯?CODE>has_many 鏄竴涓潤鎬佹柟娉曡皟鐢紝絎﹀彿 :items 鏄畠鐨勫弬鏁般侫ctiveRecord 鐢?:items 鍙戠幇 Item 鍩熷璞★紝鐒跺悗灝嗚繖涓?Item 瀵硅薄鏄犲皠鍥炴暟鎹簱涓殑 ITEMS 琛ㄣ?/P>娓呭崟 5. order.rb


01 class Order < ActiveRecord::Base
02	has_many :items
03 end

鍍?娓呭崟 5 閭f牱緙栫爜鐨?Order 綾誨湪榪愯鏃舵彁渚涗簡涓浜涚被鍜屽疄渚嬫柟娉曘傝〃 2 鎻愪緵浜嗗彲鍦?Order 涓婁嬌鐢ㄧ殑鎿嶄綔鍜屽睘鎬х殑閮ㄥ垎鍒楄〃錛?

琛?2. 鍦?Order 涓婂彲鐢ㄧ殑灞炴у拰鎿嶄綔
綾繪柟娉?/B> 瀹炰緥鏂規硶 灞炴?/B>
  • find(*args)
  • find_by_sql(sql)
  • exists?(id)
  • create(attributes)
  • update(id, attributes)
  • update_all(updates, conditions
  • delete(id)
  • delete_all(conditions)
  • ...
  • add_items
  • build_to_items
  • create_in_items
  • find_all_in_items
  • find_in_items
  • has_items?
  • items
  • items=
  • items_count
  • remove_items
  • id
  • name

緇撴潫璇?/SPAN>
铏界劧 Ruby on Rails 鏄竴涓潪甯告柊銆佷護浜哄叴濂嬬殑妗嗘灦錛屽茍涓斿湪 Web 紺懼尯涓凡緇忓紩璧蜂簡浜轟滑鐩稿綋鐨勫叴瓚o紝浣嗘槸瀹冪殑鏍稿績鏋舵瀯浠嶇劧閬靛驚鍦?J2EE 涓彂鐜扮殑鍩烘湰妯″紡銆傚紑鍙戞妸涓や釜妗嗘灦鍒嗗紑鐨?Web 搴旂敤紼嬪簭鏄竴縐嶅悎鐞嗙殑鏂規硶銆俁ails 鏇村枩嬈㈡竻妤氱殑浠g爜鑰屼笉鏄厤緗枃浠訛紝鑰?Ruby 璇█鐨勫姩鎬佹ц川鍦ㄨ繍琛屾椂鐢熸垚浜嗗ぇ閮ㄥ垎綆¢亾 浠g爜銆傚ぇ澶氭暟 Rails 妗嗘灦閮芥槸浣滀負鐙珛欏圭洰鍒涘緩鐨勶紝鑰屼笖搴旂敤紼嬪簭寮鍙戣兘澶熶粠涓緇勫悓綾葷粍浠跺彈鐩娿傜浉姣斾箣涓嬶紝鍏稿瀷鐨?J2EE 鍫嗘爤鍊懼悜浜庢瀯寤哄湪閫氬父鐙珛寮鍙戠殑鏈濂界殑緇勪歡涔嬩笂錛屽父甯哥敤 XML 榪涜閰嶇疆騫跺皢緇勪歡緇勫悎鍦ㄤ竴璧楓?/P>

閭d箞錛屾槸鍚﹀簲璇ヨ冭檻瀵逛笅涓涓?Web 搴旂敤紼嬪簭浣跨敤 Rails 鍛紵鍡紝涓轟粈涔堜笉鍛紵瀹冩槸緙栧啓寰楀緢濂界殑緇勪歡鍫嗘爤錛屽畠浠郊姝や箣闂村伐浣滃緱寰堝ソ錛屽茍涓斿熀浜庤涓氭帴鍙楃殑浼佷笟妯″紡銆俁uby 璇█鏀寔蹇熷紑鍙戯紝騫墮氳繃鐢熶駭澶у鏁板簲鐢ㄧ▼搴忕閬撴潵娣誨姞鍒版鏋躲傜啛鎮?Java 涓栫晫涓殑 MVC 鍜?ORM 妗嗘灦鐨勪漢浠湪鐢?Rails 琛ㄨ揪鑷繁鐨勬濇兂鏃舵病鏈変換浣曞洶闅俱?/P>

涓?J2EE 涓璧峰垎鍙戜細涓嶄細鏈夊埄浜?Rails錛熺粷瀵逛笉瑕併侸2EE 鏄竴涓凡緇忚緗ソ鐨勬爣鍑嗭紝鏈夎澶氬浐瀹氱殑瀹炵幇錛岃屼笖錛屾渶閲嶈鐨勬槸錛屽畠鏄竴涓粡榪囬獙璇佺殑鎶鏈傛垜寤鴻鎮ㄤ笅杞戒竴浠?Rails 鐨勫壇鏈紝騫跺紑濮嬭嚜宸遍捇鐮斿畠銆傝澶氬彲鐢ㄧ殑鏁欑▼閮芥槸浠嬬粛鎬х殑錛岃繖浜涙暀紼嬪彲浠ヨ鎮ㄧ珛鍗沖紑濮嬩嬌鐢?Rails銆傚啀嬈″0鏄庯紝鎴戝茍涓嶈兘淇濊瘉鎮ㄤ細閫氳繃浣跨敤 Rails 寰楀埌蹇箰錛屼絾鏄垜鏁㈡墦璧屾偍浼氭劅鍒版弧鎰忋?/P>

鍙傝冭祫鏂?

鍏充簬浣滆?/SPAN>
Aaron Rustad 鐨勭収鐗? height=80 name=Aaron Rustad 浠?1998 騫磋搗灝變竴鐩翠粠浜?Java 鎶鏈殑宸ヤ綔錛屽茍涓斾竴鐩存槸閫傜敤浜庝竴浜涘瀭鐩村競鍦虹殑 J2EE 搴旂敤紼嬪簭鐨勬灦鏋勫笀鍜屽紑鍙戜漢鍛橈紝榪欎簺鍨傜洿甯傚満鍖呮嫭鐭蟲補澶╃劧姘斻佸啘涓氬拰鏁欒偛銆傛偍鍙互閫氳繃 arustad@gmail.com 涓?Aaron 鑱旂郴銆?


]]> 主站蜘蛛池模板: 亚洲AV无码精品色午夜果冻不卡| 免费一级毛片在线播放| 亚洲成a人片在线观看无码| 人人鲁免费播放视频人人香蕉| 四虎影视精品永久免费| 亚洲av永久无码精品秋霞电影秋 | 亚洲国产精品免费视频| 国内精品免费久久影院| 国产精品亚洲片在线| 成全视频高清免费观看电视剧| 亚洲色大成网站www永久一区 | 国产免费观看青青草原网站| 久久亚洲精品11p| 亚洲情侣偷拍精品| 人人玩人人添人人澡免费| 91在线精品亚洲一区二区| 日韩免费一区二区三区在线播放 | 一级毛片a女人刺激视频免费| 亚洲国模精品一区| 成全在线观看免费观看大全| 77777_亚洲午夜久久多人| 69成人免费视频无码专区| 免费手机在线看片| 婷婷久久久亚洲欧洲日产国码AV| 114级毛片免费观看| 亚洲精品一卡2卡3卡四卡乱码| 免费少妇a级毛片| 国内少妇偷人精品视频免费| 7777久久亚洲中文字幕| 亚洲 小说区 图片区 都市| 免费无码又爽又刺激网站直播| 91亚洲性爱在线视频| 亚洲电影日韩精品| 99在线观看精品免费99| 亚洲日本天堂在线| 亚洲精品一品区二品区三品区| 国产在线观看免费观看不卡| 五级黄18以上免费看| 亚洲一区二区三区无码国产| 亚洲一区二区视频在线观看| 91嫩草免费国产永久入口|