ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>久久国产影院,欧美激情五月,日本视频一区在线观看http://www.aygfsteel.com/anticlockwise/zh-cnSat, 07 Jun 2025 08:55:17 GMTSat, 07 Jun 2025 08:55:17 GMT60- éžç»“构化‹¹ç¨‹å›‘Öˆ°¾l“构化浽E‹å›¾çš„自动è{æ?/title><link>http://www.aygfsteel.com/anticlockwise/archive/2006/06/03/50110.html</link><dc:creator>举æ¢ä¼˜é›…的猪</dc:creator><author>举æ¢ä¼˜é›…的猪</author><pubDate>Sat, 03 Jun 2006 04:11:00 GMT</pubDate><guid>http://www.aygfsteel.com/anticlockwise/archive/2006/06/03/50110.html</guid><wfw:comment>http://www.aygfsteel.com/anticlockwise/comments/50110.html</wfw:comment><comments>http://www.aygfsteel.com/anticlockwise/archive/2006/06/03/50110.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.aygfsteel.com/anticlockwise/comments/commentRss/50110.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/anticlockwise/services/trackbacks/50110.html</trackback:ping><description><![CDATA[ 摘è¦: 该文主è¦ä»‹ç»äº†ä¸€ä¸ªæˆ‘å’ŒåŒå¦åˆä½œçš„™å¹ç›®åQŒä‹Éž®†éž¾l“构化浽E‹å›¾è½¬æ¢æˆç»“构化‹¹ç¨‹å›„¡š„½E‹åºã€?nbsp; <a href='http://www.aygfsteel.com/anticlockwise/archive/2006/06/03/50110.html'>阅读全文</a><img src ="http://www.aygfsteel.com/anticlockwise/aggbug/50110.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/anticlockwise/" target="_blank">举æ¢ä¼˜é›…的猪</a> 2006-06-03 12:11 <a href="http://www.aygfsteel.com/anticlockwise/archive/2006/06/03/50110.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item><item><title>关于Springä¸åˆ©ç”¨Hibernateä½œäØ“DAO的简åŒ?/title><link>http://www.aygfsteel.com/anticlockwise/archive/2006/03/09/34429.html</link><dc:creator>举æ¢ä¼˜é›…的猪</dc:creator><author>举æ¢ä¼˜é›…的猪</author><pubDate>Thu, 09 Mar 2006 02:36:00 GMT</pubDate><guid>http://www.aygfsteel.com/anticlockwise/archive/2006/03/09/34429.html</guid><wfw:comment>http://www.aygfsteel.com/anticlockwise/comments/34429.html</wfw:comment><comments>http://www.aygfsteel.com/anticlockwise/archive/2006/03/09/34429.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.aygfsteel.com/anticlockwise/comments/commentRss/34429.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/anticlockwise/services/trackbacks/34429.html</trackback:ping><description><![CDATA[<FONT color=#000000 size=2>在暑å‡é‡Œçœ‹äº†â€œRefactoring to Patternsâ€è¿™æœ¬ä¹¦åQŒè§‰å¾—很ä¸é”™ã€‚里边讲åˆîCº†å¾ˆå¤šåœ¨ä¼˜åŒ–ç¼–ç æ—¶å¯ä»¥ç”¨åˆ°çš„设计模å¼ä»¥åŠå®ƒä»¬çš„用法ã€?BR> 我在¾~–程æ—Óž¼Œä¸€èˆ¬éƒ½æ˜¯ç”¨Springä½œäØ“ä¸é—´å±‚管ç†èµ„æºï¼Œè€Œç”¨Hibernateä½œäØ“ORM。用˜q‡Springçš„äh都知é“Spring对Hibernateçš„æ”¯æŒæ–¹æ³•较多,我常用的是直接ç‘ô承HibernateDaoSupport¾c…R€‚我们先æ¥çœ‹ä¸€ä¸ªç±»å›¾ï¼š<BR><IMG alt="Dao Class Diagram" hspace=0 src="D:\JSoftware\eclipseworkspace\Jack's Blog\doc\dao.gif" align=baseline border=0><BR>在是我在应用ä¸å¸¸ç”¨åˆ°çš„ç±»¾l“æž„ã€‚å› ä¸ºå¯¹äºŽä¸€ä¸ªåŸŸæ¨¡åž‹æ¥è¯´åQŒæœ€åŸºæœ¬çš„就是CRUDæ“作åQŒæ‰€ä»¥å°†å…¶æ”¾åœ¨Dao接å£ä¸ï¼Œä½†æ˜¯å¯¹äºŽæ¯ä¸ªä¸åŒçš„åŸŸæ¨¡åž‹åˆæœ‰å…¶ç‰¹æœ‰çš„æ–ÒŽ³•åQŒåˆ™ž®†å…¶æ”‘Öœ¨åŸŸæ¨¡åž‹å¯¹åº”的接å£åQˆSomeSpecificDaoåQ‰ä¸ã€?BR> ˜q™æ ·åQŒå¯¹äºŽæœ€åŸºæœ¬çš„CRUDæ“作ž®±å¯ä»¥åªéœ€åœ¨BaseHibernateDaoä¸å®žçŽŽÍ¼Œ˜q™ä¸€ç‚¹åˆ©ç”¨äº†Template Method设计模å¼ã€‚对于create(), delete()å’Œmodify()三个æ–ÒŽ³•都å¯ä»¥ç®€å•实玎ͼŒåŒ™°ƒç”¨HibernateTemplateä¸ç›¸åº”çš„æ–ÒŽ³•。对于findAllå’ŒfindByIdåQŒåˆ™å¯ä»¥å€Ÿä½Java的垮„æ¥å®žçŽ°ã€‚è¿™é‡Œå¦‚æžœè¦åˆ©ç”¨å射且达到通用的目的,ž®±éœ€è¦å°†æ‰€æœ‰çš„域模型放在一个包ä¸ï¼Œòq¶ä¸”有相åŒçš„命å规则åQŒæ¯”如说如果域模型å«åšUseråQŒé‚£ä¹ˆç›¸åº”çš„Dao应该以Userå¼€å¤ß_¼Œä¸è¿‡˜q™ä¹Ÿæ˜¯å¸¸ç”¨çš„æ–ÒŽ³•。下é¢ç»™å‡ÞZ¸€ž®æ®µä»£ç <BR>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG id=Codehighlighter1_0_61_Open_Image onclick="this.style.display='none'; Codehighlighter1_0_61_Open_Text.style.display='none'; Codehighlighter1_0_61_Closed_Image.style.display='inline'; Codehighlighter1_0_61_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_0_61_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_0_61_Closed_Text.style.display='none'; Codehighlighter1_0_61_Open_Image.style.display='inline'; Codehighlighter1_0_61_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align=top><SPAN id=Codehighlighter1_0_61_Open_Text><SPAN style="COLOR: #008000">/**</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top> * A convenience and generic method for retrieving all models from the database<BR> * @throws DataAccessException<BR></SPAN><SPAN style="COLOR: #008000"><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top> </SPAN><SPAN style="COLOR: #008000">*/</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG id=Codehighlighter1_116_628_Open_Image onclick="this.style.display='none'; Codehighlighter1_116_628_Open_Text.style.display='none'; Codehighlighter1_116_628_Closed_Image.style.display='inline'; Codehighlighter1_116_628_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_116_628_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_116_628_Closed_Text.style.display='none'; Codehighlighter1_116_628_Open_Image.style.display='inline'; Codehighlighter1_116_628_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align=top> </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> List findAll() </SPAN><SPAN style="COLOR: #0000ff">throws</SPAN><SPAN style="COLOR: #000000"> DataAccessException </SPAN><SPAN id=Codehighlighter1_116_628_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"></SPAN><SPAN id=Codehighlighter1_116_628_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top> </SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000"> TODO Auto-generated method stub</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000"> List models </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000"> ArrayList();<BR><IMG id=Codehighlighter1_212_458_Open_Image onclick="this.style.display='none'; Codehighlighter1_212_458_Open_Text.style.display='none'; Codehighlighter1_212_458_Closed_Image.style.display='inline'; Codehighlighter1_212_458_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_212_458_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_212_458_Closed_Text.style.display='none'; Codehighlighter1_212_458_Open_Image.style.display='inline'; Codehighlighter1_212_458_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top> </SPAN><SPAN style="COLOR: #0000ff">try</SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN id=Codehighlighter1_212_458_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"></SPAN><SPAN id=Codehighlighter1_212_458_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top> models </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> getHibernateTemplate().loadAll(<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top> Class.forName(getClass().getName().replaceAll(<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top> </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">HibernateDao</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">, </SPAN><SPAN style="COLOR: #000000">""</SPAN><SPAN style="COLOR: #000000">).replaceAll(</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">dao.hibernate</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">,<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top> </SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">model</SPAN><SPAN style="COLOR: #000000">"</SPAN><SPAN style="COLOR: #000000">)));<BR><IMG id=Codehighlighter1_501_599_Open_Image onclick="this.style.display='none'; Codehighlighter1_501_599_Open_Text.style.display='none'; Codehighlighter1_501_599_Closed_Image.style.display='inline'; Codehighlighter1_501_599_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_501_599_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_501_599_Closed_Text.style.display='none'; Codehighlighter1_501_599_Open_Image.style.display='inline'; Codehighlighter1_501_599_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top> }</SPAN></SPAN><SPAN style="COLOR: #000000"> </SPAN><SPAN style="COLOR: #0000ff">catch</SPAN><SPAN style="COLOR: #000000"> (ClassNotFoundException exception) </SPAN><SPAN id=Codehighlighter1_501_599_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"></SPAN><SPAN id=Codehighlighter1_501_599_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top> </SPAN><SPAN style="COLOR: #008000">//</SPAN><SPAN style="COLOR: #008000"> TODO Auto-generated catch block</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top></SPAN><SPAN style="COLOR: #000000"> exception.printStackTrace();<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top> }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top> </SPAN><SPAN style="COLOR: #0000ff">return</SPAN><SPAN style="COLOR: #000000"> models;<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top> }</SPAN></SPAN></DIV></FONT> <FONT size=2> 以上¾l™å‡ºçš„æ˜¯findAll的实玎ͼŒfindByIdä¹Ÿæ˜¯ä¸€æ —÷€‚è¿™æ ·ä¸€æ¥ï¼Œž®±æ— 需å†åœ¨åç±»ä¸é‡å¤ç¼–写CRUD½Ž—法的实çŽîCº†ã€?BR> 冿œ‰ž®±æ˜¯åœ¨ç¼–写å¾c»Daoä¸ç‰¹æœ‰çš„findæ–ÒŽ³•åQŒå› 为利用HibernateTemplateä¸çš„executeæ–ÒŽ³•æ¥å®žçŽŽÍ¼Œæ‰€ä»¥å¯ä»¥åœ¨BaseHibernateDao˜q™ä¸ªçˆ¶ç±»ä¸ç¼–写一个protected的方法,以便åç±»Dao调用åQŒè¿™ä¸ªæ–¹æ³•ä¸åŒ…å«äº†è°ƒç”¨HibernateTemplateä¸executeæ–ÒŽ³•的代ç :<BR>
<DIV style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><IMG id=Codehighlighter1_0_68_Open_Image onclick="this.style.display='none'; Codehighlighter1_0_68_Open_Text.style.display='none'; Codehighlighter1_0_68_Closed_Image.style.display='inline'; Codehighlighter1_0_68_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_0_68_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_0_68_Closed_Text.style.display='none'; Codehighlighter1_0_68_Open_Image.style.display='inline'; Codehighlighter1_0_68_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align=top><SPAN id=Codehighlighter1_0_68_Open_Text><SPAN style="COLOR: #008000">/**</SPAN><SPAN style="COLOR: #008000"><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top> * Covenience method for retrieving objects by HQL<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top> </SPAN><SPAN style="COLOR: #008000">*/</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" align=top> </SPAN><SPAN style="COLOR: #0000ff">protected</SPAN><SPAN style="COLOR: #000000"> Query find(</SPAN><SPAN style="COLOR: #0000ff">final</SPAN><SPAN style="COLOR: #000000"> String query</SPAN><SPAN style="COLOR: #000000">)<BR><IMG id=Codehighlighter1_184_486_Open_Image onclick="this.style.display='none'; Codehighlighter1_184_486_Open_Text.style.display='none'; Codehighlighter1_184_486_Closed_Image.style.display='inline'; Codehighlighter1_184_486_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_184_486_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_184_486_Closed_Text.style.display='none'; Codehighlighter1_184_486_Open_Image.style.display='inline'; Codehighlighter1_184_486_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif" align=top> </SPAN><SPAN style="COLOR: #0000ff">throws</SPAN><SPAN style="COLOR: #000000"> DataAccessException </SPAN><SPAN id=Codehighlighter1_184_486_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"></SPAN><SPAN id=Codehighlighter1_184_486_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top> Query aQuery </SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000"> (Query) getHibernateTemplate().execute(<BR><IMG id=Codehighlighter1_289_455_Open_Image onclick="this.style.display='none'; Codehighlighter1_289_455_Open_Text.style.display='none'; Codehighlighter1_289_455_Closed_Image.style.display='inline'; Codehighlighter1_289_455_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_289_455_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_289_455_Closed_Text.style.display='none'; Codehighlighter1_289_455_Open_Image.style.display='inline'; Codehighlighter1_289_455_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top> </SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000"> HibernateCallback() </SPAN><SPAN id=Codehighlighter1_289_455_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"></SPAN><SPAN id=Codehighlighter1_289_455_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG id=Codehighlighter1_356_437_Open_Image onclick="this.style.display='none'; Codehighlighter1_356_437_Open_Text.style.display='none'; Codehighlighter1_356_437_Closed_Image.style.display='inline'; Codehighlighter1_356_437_Closed_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_356_437_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_356_437_Closed_Text.style.display='none'; Codehighlighter1_356_437_Open_Image.style.display='inline'; Codehighlighter1_356_437_Open_Text.style.display='inline';" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif" align=top> </SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000"> Object doInHibernate(Session session) </SPAN><SPAN id=Codehighlighter1_356_437_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"></SPAN><SPAN id=Codehighlighter1_356_437_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top> </SPAN><SPAN style="COLOR: #0000ff">return</SPAN><SPAN style="COLOR: #000000"> session.createQuery(query);<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top> }</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top> }</SPAN></SPAN><SPAN style="COLOR: #000000">);<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" align=top> </SPAN><SPAN style="COLOR: #0000ff">return</SPAN><SPAN style="COLOR: #000000"> aQuery;<BR><IMG src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top> }</SPAN></SPAN></DIV> ˜q™æ ·åœ¨å¾c»Daoä¸å°±å¯ä»¥ç›´æŽ¥è°ƒç”¨è¯¥findæ–ÒŽ³•æ¥å®žçŽŽÍ¼Œè€Œä¸å¿…毋ơ都¾~–写¾Jççš„executeæ–ÒŽ³•ã€?BR> 以上的方法我都嚘q‡æµ‹è¯•ï¼Œåœ¨å®žçŽ°å’Œåº”ç”¨ä¸æ²¡æœ‰é—®é¢˜ã€‚在效率上å¯èƒ½ä¼šæ¯”在åç±»ä¸å®žçްè¦å·®ä¸€ç‚¹ï¼Œå› 䨓find*æ–ÒŽ³•ä¸ç”¨åˆîCº†Java的垮„,å¯ÒŽ•ˆçŽ‡ä¼šä¸€å®šçš„å½±å“åQŒè¿™æ˜¯ç¼ºç‚¹ä¹‹ä¸€ã€‚å¦‚æžœæœ‰å“ªä½æœ‰æ›´å¥½çš„办法åQŒè¯·åœ¨è¯„è®ÞZ¸å†™å‡ºåQŒæ¬¢˜qŽå¤§å®¶è¿›è¡Œè¯„判,谢谢…â€?/FONT><img src ="http://www.aygfsteel.com/anticlockwise/aggbug/34429.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/anticlockwise/" target="_blank">举æ¢ä¼˜é›…的猪</a> 2006-03-09 10:36 <a href="http://www.aygfsteel.com/anticlockwise/archive/2006/03/09/34429.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item><item><title>我的JavaåQŒçŽ°åœ¨å’Œæœªæ¥http://www.aygfsteel.com/anticlockwise/archive/2006/03/05/33697.html举æ¢ä¼˜é›…的猪举æ¢ä¼˜é›…的猪Sun, 05 Mar 2006 06:07:00 GMThttp://www.aygfsteel.com/anticlockwise/archive/2006/03/05/33697.htmlhttp://www.aygfsteel.com/anticlockwise/comments/33697.htmlhttp://www.aygfsteel.com/anticlockwise/archive/2006/03/05/33697.html#Feedback10http://www.aygfsteel.com/anticlockwise/comments/commentRss/33697.htmlhttp://www.aygfsteel.com/anticlockwise/services/trackbacks/33697.html ä¸çŸ¥é“自å·×ƒØ“什么会如æ¤ç—´è¿·äºŽJavaåQŒæˆ–者更应该说是¾~–程。现在已¾l大三了åQŒæœ‰äº†ä¸¤òq´å¤šçš„Java¾l验åQŒè™½ç„¶ä¸é•¿ï¼Œä½†å¦åˆ°çš„东西很多。这主è¦å½’功于对Javaçš„çƒçˆÞp¿˜æœ‰æˆ‘的英è¯ã€‚嘿嘿,本ähåˆä¸åœ¨è‹±å›½å¹´çš„,所以英è¯è¿˜½Ž—ä¸é”™ï¼Œçœ‹æ–‡æ¡£å’Œä¹¦ç±éƒ½æ˜¯è‹±æ–‡åŽŸç‰ˆçš„ï¼Œæ‰€ä»¥å¾—åˆ°çš„ä¿¡æ¯æ›´å¤šã€?BR>
åˆšåˆ°å¤§å¦æ—¶å¯¹¾~–ç¨‹ä¸€æ— æ‰€çŸ¥ã€‚å¤§å¦é‡Œæ•™çš„è¯è¨€æ˜¯C++åQŒåˆšæŽ¥è§¦æ—¶æ»‹z»éƒ½å¼„䏿˜Žç™½æŒ‡é’ˆåQŒæ¯‹Æ¡ç¼–½E‹æ—¶éƒ½å›žé‡åˆ°˜q™æ ·å’Œé‚£æ ïLš„æŒ‡é’ˆé—®é¢˜åQŒæœ€å¸¸è§çš„å°±æ˜¯æŒ‡é’ˆäØ“½Iºçš„æƒ…况åQŒéƒé—¯‚‡³æž?IMG height=20 src="http://www.aygfsteel.com/Emoticons/hitwall.gif" width=25 border=0>ã€‚å¤§æ¦‚æ˜¯å¤§äºŒä¸Šå¦æœŸæŸä¸ªæ—¶å€™ï¼Œ½H然在图书馆看到关于Java的书¾cï¼Œçœ‹äº†å‡ é¡µž®±å·²¾l瀘q·äº†ã€‚接ç€çš„两òq´å¤šé‡Œï¼Œæˆ‘䏿–çš„å¦ä¹ JavaåQŒä»Žæœ€å¼€å§‹çš„环境å˜é‡çš„é…¾|®ï¼ˆå¤§å®¶å¿…须承认åQŒè¿™æ˜¯Javaåˆå¦è€…的最大问题)åQŒåˆ°çŽ°åœ¨å·²ç»ç†Ÿæ‚‰J2EEåQˆJava EEåQ‰ï¼ŒåŒ…括目剋¹è¡Œçš„Web框架和一些比较有用的开æºå·¥å…øP¼Œæ¯”如Antã€JUnitã€WebUnit的牽{‰ã€?BR>
我买的第一本Java书是Deitel两äh写的“Java How to Programâ€ã€‚我很庆òq怹°äº†è¿™æœ¬ä¹¦åQŒè¿™æ˜¯æœ¬å¾ˆå¥½çš„åˆå¦ä¹¦¾c,所以现在如果有人问我刚开始å¦Java应该用什么书åQŒæˆ‘会推èä»–˜q™æœ¬åQŒå½“ç„¶å‰ææ˜¯è¦çœ‹å¾—懂英文
。之åŽåˆéšä¹‹ä¹îCº†Java Advanced How to ProgramåQŒè™½ç„¶è¿™æœ¬ä¹¦æ˜¯è€äº†ä¸€ç‚¹ï¼Œä½†æ˜¯ä¹Ÿå¾ˆæœ‰ç”¨åQŒç»™æˆ‘å¥ å®šäº†è¾ƒå¥½çš„J2EE基础ã€?BR>
å¦ä¹ J2EE大概是在我接触Java一òq´å¤šåŽå¼€å§‹çš„åQŒé‚£æ—¶æˆ‘对开æºè¿˜ä¸æ‡‚åQŒæ‰€ä»¥ä»¥ä¸ºJ2EEåªæœ‰Servletã€EJBå’ŒJSPã€‚ä¹‹å‰æˆ‘一直ä‹É用的是Antå’ŒEditplusåQŒçŽ°åœ¨æœ‰æ—¶ä¹Ÿç”¨ï¼ŒAnt¼‹®å®žæ˜¯ä¸€é—¨éžå¸¸å¥½çš„工兗÷€‚åšJ2EEå¼€å‘å°±ä¸èƒ½åªä‹É用Ant了,我回抓狂的。IDE最开始我选择了NetbeansåQŒåˆšå¼€å§‹è§‰å¾—很好用åQŒå¾ˆæ–¹ä¾¿åQŒä½†éšç€æˆ‘åšçš„东西的规模å˜å¤§åQŒæœºå™¨å°±å¼€å§‹å¡äº†ï¼ˆNetbeans很消耗内å˜çš„åQ‰ã€‚之åŽåœ¨¾|‘上看到Eclipse很æµè¡Œï¼Œä¾¿ä¸‹ä¸‹æ¥ç”¨ï¼Œž®Þq”¨åˆîCº†çŽ°åœ¨ã€?BR>
ç›®å‰æœ€é—憾的是我没有找到机会去åšé¡¹ç›®ï¼Œåªæ˜¯è‡ªå·±åšç½‘站,å¦ä¹ 而已。丘q‡è¿™æ ähœ‰ä¸ªå¥½å¤„就是没人é™åˆ¶ä½ åQŒæ‰€ä»¥ä½ å¯ä»¥ž®½æƒ…呿Œ¥åQŒå¯ä»¥åŽ»æŽ¢çƒ¦çš„æ›´åŠ é€å½»åQŒæœ‰æ—‰™—´åŽÀLƒ³ã€‚å› ä¸ø™¿˜åœ¨å¦ä¹ 阶ŒDµï¼Œæ‰€ä»¥æˆ‘一直没有把¾|‘站攑ֈ°¾|‘上åQŒæˆ‘喜欢把我å¦è¿‡çš„æŠ€æœ¯å’Œæˆ‘自己想出æ¥çš„æ¨¡å¼éƒ½¾|‘自å·Þqš„¾|‘ç«™ä¸ŠåŠ åQŒä»¥å¾—åˆ°å®žè·µã€‚ç›®å‰æˆ‘是这æ ïLš„åQšç”¨Springä½œäØ“ä¸é—´å±‚管ç†èµ„æºã€DAOã€Service½{‰ï¼›ä¸Žæ•°æ®åº“æ‰“äº¤é“æˆ‘当然ž®±é€‰æ‹©çš„HibernateåQ›å‰ç«¯æˆ‘用了Strutså’ŒJSFåQŒè§‰å¾—他们儿œ‰åˆ©åQŒStrutsä¸»è¦æŽ¥æ”¶å’Œå¤„ç†è¡¨å•,JSF用æ¥ä½œäØ“View Helper生戙åµé¢åQ›è§†å›¾æˆ‘˜q˜æ˜¯ç”¨çš„JSPåQŒä½†æ˜¯ç”¨äº†Sitemesh˜q›è¡Œè£…饰。开始用的TilesåQŒä½†åŽæ¥å‘现Tilesé…ç½®èµäh¥å¾ˆéº»çƒ¦ï¼Œè€Œä¸”é™åˆ¶å¾ˆå¤šåQ›æˆ‘˜q˜ç”¨äº†ä¸¤ä¸ªå°çš„å¼€æºç»„ä»Óž¼ŒAjaxtagså’ŒDisplaytagåQŒçŸ¥é“这两个东西的ähåº”è¯¥éƒ½çŸ¥é“æˆ‘用它æ¥å¹²å˜›çš„åQŒå°±ä¸è¯´äº†ï¼›å®‰å…¨æ–šw¢æˆ‘ç›®å‰ä‹É用的AcegiSecurityåQŒæŒºå¥½ç”¨çš„,ä¸è¿‡å¦‚æžœè¦æ±‚å®‰å…¨æ€§æ›´é«˜ï¼Œæˆ‘è¿˜éœ€è¦æ‰‹å·¥ç¼–ç ;模版技术我现在使用FreemarkeråQŒå› ä¸ÞZ‹É用Velocity我æ€ÀL˜¯é…ç½®ä¸æˆåŠŸï¼ˆåäh‡’åQ‰ã€‚现在我主è¦åœ¨ç¢¼‚¨å¦‚何简化代ç ,现在的结构都是我自己摸烦出æ¥çš„ï¼ŒåŽæ¥ä¸‹äº†AppfuseåQŒå‘çŽ°å®ƒçš„ç»“æž„ç«Ÿç„¶å’Œæˆ‘å‡ ä¹Žä¸€æ øP¼lol
说说未æ¥å§ï¼Œæˆ‘å·²¾l大三了åQŒè¿˜æœ‰ä¸€òq´å°±è¦æ¯•业,我准备出国。开始准备去英国åQŒå› 为环境熟悉,˜q˜é€‰äº†ä¸€æ‰€è‹±å›½è®¡ç®—机排å第三的“å¸å›½ç†å·¥ï¼ˆImperial CollegeåQ‰â€ã€‚去英国ž®Þp¦è€ƒé›…æ€ã€‚åŽæ¥å¤§å®¶è¿˜æ˜¯æŽ¨è我åŽÈ¾Žå›½ï¼Œæ¯•竟¾ŸŽå›½åœ¨è®¡½Ž—机斚w¢æ˜¯è€å¤§ã€‚我åˆçœ‹ä¸äº†å¡è€åŸºÂ·æ¢…隆åQŒè¿™æ‰€å¦æ ¡ž®×ƒ¸ç”¨ä»‹¾l了å§ï¼ŒæŽå¼€å¯Œçš„æ¯æ ¡~~~~ åŽÈ¾Žå›½è¦è€ƒæ‰˜¼›å’ŒGRE。这下我三门都è¦è€ƒï¼Œæ‰˜ç¦å’Œé›…æ€æˆ‘䏿€•ï¼Œæ‰˜ç¦æˆ‘刚åšäº†å¥?003òq´çš„å·ååQŒåªé”™äº†4é“题åQŒä¹Ÿè®¸æœ‰ä¸€ç‚¹è¿æ°”å§åQŒä½†åº”该˜q˜ç®—ä¸é”™äº†ã€‚最怕的ž®±æ˜¯GREåQŒå¬è¯´æœ‰äº›ähå› äØ“GREå‡ÞZº†å®?IMG height=19 src="http://www.aygfsteel.com/Emoticons/confused_smile.gif" width=19 border=0>åQŒææ€–å•Šã€‚æˆ‘ä¹Ÿæ¸æ¸æ„Ÿè§‰åˆ°äº†GRE的难度ã€?BR> 我是å‰å‡ 天刚注册的,看到“哈哈的日åâ€å†™çš„ä¸œè¥¿ï¼Œæ„Ÿè§‰å¾ˆæ¸©é¦¨ã€‚æœ¬äºø™¿˜æ²¡æœ‰å¥Ïxœ‹å‹ï¼Œå±žäºŽâ€œåœ£â€ç”·åQˆå‰©ä¸‹æ¥çš„男人)哈哈……能够找åˆîC¸€ä¸ªèƒ½å¤Ÿç†è§£ç¨‹åºå‘˜çš„å¦ä¸€åŠä¹Ÿæ˜¯æˆ‘的未æ¥ã€‚我æ€ÀL˜¯åœ¨è¯´â€œæˆ‘ç›®å‰æœ€å¿«ä¹çš„äº‹æƒ…å°±æ˜¯èƒ½å¤ŸäØ“è‡ªå·±çš„æ¢¦æƒŒ™€Œå¥‹æ–—,也许会跌倒,也许会报怨,但那些都是这æ¡èµ\上所固有的â€ã€‚我快ä¹åQ?/FONT>
]]>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º
ÓÀÉÆÏØ|
·ï¸ÔÏØ|
ÂêÄÉË¹ÏØ|
ÆæÌ¨ÏØ|
´óÀóÏØ|
êùÎªÏØ|
×Ô¹±ÊÐ|
ÁijÇÊÐ|
¸£¹±ÏØ|
·ï»ËÏØ|
¶ë±ß|
Óà½ÏØ|
´ó·½ÏØ|
ÑÓ´¨ÏØ|
¿ûÇàÇø|
ð¢É½ÏØ|
ÍͲýÏØ|
¹ã°²ÊÐ|
ÒÀ°²ÏØ|
Îâ½ÊÐ|
ÀûÐÁÏØ|
ÆîÑôÏØ|
ÓÀË³ÏØ|
ÆÖ³ÇÏØ|
µÇ·âÊÐ|
°¢ÀÉÆ×óÆì|
ÜìÄÏÏØ|
µÂ»¯ÏØ|
·ïɽÊÐ|
Ê©±üÏØ|
Ú¯°²ÏØ|
ÇÒÄ©ÏØ|
ÌÒÔ´ÏØ|
Ïå·ÚÏØ|
ÒËÁ¼ÏØ|
Âí±ß|
¸ßÓÊÊÐ|
ƽ°²ÏØ|
ÉÏÓÝÊÐ|
¿ªÔ¶ÊÐ|
¸ñ¶ûľÊÐ|