ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>国产在线一二,欧美高清视频一区,精品中文字幕在线2019http://www.aygfsteel.com/freeman1984/archive/2013/01/06/393854.html疯狂疯狂Sun, 06 Jan 2013 03:09:00 GMThttp://www.aygfsteel.com/freeman1984/archive/2013/01/06/393854.htmlhttp://www.aygfsteel.com/freeman1984/comments/393854.htmlhttp://www.aygfsteel.com/freeman1984/archive/2013/01/06/393854.html#Feedback0http://www.aygfsteel.com/freeman1984/comments/commentRss/393854.htmlhttp://www.aygfsteel.com/freeman1984/services/trackbacks/393854.htmlpublic int update(String sql, ... 阅读全文
]]>- 关于tomcatå’ŒsessionCookieNameå’ŒSESSION_PARAMETER_NAME以åŠdisableURLRewriting傿•°åŽŸç†å’Œä‹Éç”?/title><link>http://www.aygfsteel.com/freeman1984/archive/2012/12/24/393402.html</link><dc:creator>疯狂</dc:creator><author>疯狂</author><pubDate>Mon, 24 Dec 2012 07:16:00 GMT</pubDate><guid>http://www.aygfsteel.com/freeman1984/archive/2012/12/24/393402.html</guid><wfw:comment>http://www.aygfsteel.com/freeman1984/comments/393402.html</wfw:comment><comments>http://www.aygfsteel.com/freeman1984/archive/2012/12/24/393402.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/freeman1984/comments/commentRss/393402.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/freeman1984/services/trackbacks/393402.html</trackback:ping><description><![CDATA[ 摘è¦: 关于tomcatå’ŒsessionCookieNameå’ŒSESSION_PARAMETER_NAME以åŠdisableURLRewriting傿•°åŽŸç†å’Œä‹Éç”?nbsp; <a href='http://www.aygfsteel.com/freeman1984/archive/2012/12/24/393402.html'>阅读全文</a><img src ="http://www.aygfsteel.com/freeman1984/aggbug/393402.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/freeman1984/" target="_blank">疯狂</a> 2012-12-24 15:16 <a href="http://www.aygfsteel.com/freeman1984/archive/2012/12/24/393402.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item><item><title>hibernateåQŒspring½Ž¡ç†äº‹åŠ¡ä¸?transactionåQŒJDBC connectionåQŒHibernate Sessionçš„ä‹Éç”¨ç ”½I?åQˆä¸€åQ?/title><link>http://www.aygfsteel.com/freeman1984/archive/2011/11/18/363984.html</link><dc:creator>疯狂</dc:creator><author>疯狂</author><pubDate>Fri, 18 Nov 2011 03:25:00 GMT</pubDate><guid>http://www.aygfsteel.com/freeman1984/archive/2011/11/18/363984.html</guid><wfw:comment>http://www.aygfsteel.com/freeman1984/comments/363984.html</wfw:comment><comments>http://www.aygfsteel.com/freeman1984/archive/2011/11/18/363984.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/freeman1984/comments/commentRss/363984.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/freeman1984/services/trackbacks/363984.html</trackback:ping><description><![CDATA[如果å•独使用hibernateå¯å‚考上一½‹‡æ–‡ç«?a href="http://www.aygfsteel.com/freeman1984/archive/2011/08/04/355808.html">http://www.aygfsteel.com/freeman1984/archive/2011/08/04/355808.html</a><br /><br /><strong>首先hibernateçš„Connection release modeæœ‰ä»¥ä¸‹å‡ ¿U:<br /></strong>1 after_statement 2 after_transaction 3 on_close å…¶ä¸after_statement 用在jtaä¸?åQ?span style="color: red"><strong>on_close æ˜?.1之å‰é—ç•™çš„ï¼ˆä¹Ÿè®¸æ˜¯äØ“spring留的-_-åQ‰ï¼Œä¹Ÿå°±æ˜?.1之å‰é»˜è®¤æ˜¯on_close åQŒä½†3.1之åŽé»˜è®¤å¦‚æžœå•独使用hibernate是after_transactionåQ?/strong></span>如果有第三方事务½Ž¡ç†åQŒå°±ç”¨ç¬¬ä¸‰æ–¹æä¾›çš„默认å€û|¼Œspringž®±æ˜¯é»˜è®¤ä½¿ç”¨äº†on_closeã€?br /><strong>在spring½Ž¡ç†äº‹åС䏿ˆ‘们看看系¾lŸå¯åЍåŽé»˜è®¤ä½¿ç”¨çš„é…¾|®ï¼š<br /></strong>1,ransaction strategy: org.springframework.orm.hibernate3.SpringTransactionFactory使用spring事务½{–ç•¥<br />2åQŒhibernate内部 Automatic session close at end of transaction: disabled å› äØ“å·²ç»äº¤ç»™springäº?br />3 Connection release mode: auto 默认åQŒä¹Ÿž®±æ˜¯æ²¡æœ‰é…ç½®hibernate.connection.release_mode的时候,但是˜q™é‡Œæœ‰åœ°æ–šwœ€è¦æ³¨æ„:也就是å‰é¢æåˆ°çš„使用½W¬ä¸‰æ–¹ç–略时的问题:看一下代ç :
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" /><span style="color: #000000">String releaseModeName </span><span style="color: #000000">=</span><span style="color: #000000"> PropertiesHelper.getString( Environment.RELEASE_CONNECTIONS, properties, </span><span style="color: #000000">"</span><span style="color: #000000">auto</span><span style="color: #000000">"</span><span style="color: #000000"> );<br /><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" /> log.info( </span><span style="color: #000000">"</span><span style="color: #000000">Connection release mode: </span><span style="color: #000000">"</span><span style="color: #000000"> </span><span style="color: #000000">+</span><span style="color: #000000"> releaseModeName );<br /><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" /> ConnectionReleaseMode releaseMode;<br /><img id="Codehighlighter1_246_311_Open_Image" onclick="this.style.display='none'; Codehighlighter1_246_311_Open_Text.style.display='none'; Codehighlighter1_246_311_Closed_Image.style.display='inline'; Codehighlighter1_246_311_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_246_311_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_246_311_Closed_Text.style.display='none'; Codehighlighter1_246_311_Open_Image.style.display='inline'; Codehighlighter1_246_311_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif"> </span><span style="color: #0000ff">if</span><span style="color: #000000"> ( </span><span style="color: #000000">"</span><span style="color: #000000">auto</span><span style="color: #000000">"</span><span style="color: #000000">.equals(releaseModeName) ) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_246_311_Closed_Text"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_246_311_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" /> </span><span style="color: red">releaseMode </span><span style="color: red">=</span><span style="color: red"> transactionFactory.getDefaultReleaseMode(); }</span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" /></span></span><span style="color: #000000"><br /><img id="Codehighlighter1_320_663_Open_Image" onclick="this.style.display='none'; Codehighlighter1_320_663_Open_Text.style.display='none'; Codehighlighter1_320_663_Closed_Image.style.display='inline'; Codehighlighter1_320_663_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_320_663_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_320_663_Closed_Text.style.display='none'; Codehighlighter1_320_663_Open_Image.style.display='inline'; Codehighlighter1_320_663_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif"> </span><span style="color: #0000ff">else</span><span style="color: #000000"> </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_320_663_Closed_Text"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_320_663_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" /> releaseMode </span><span style="color: #000000">=</span><span style="color: #000000"> ConnectionReleaseMode.parse( releaseModeName );<br /><img id="Codehighlighter1_494_659_Open_Image" onclick="this.style.display='none'; Codehighlighter1_494_659_Open_Text.style.display='none'; Codehighlighter1_494_659_Closed_Image.style.display='inline'; Codehighlighter1_494_659_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_494_659_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_494_659_Closed_Text.style.display='none'; Codehighlighter1_494_659_Open_Image.style.display='inline'; Codehighlighter1_494_659_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif"> </span><span style="color: #0000ff">if</span><span style="color: #000000"> ( releaseMode </span><span style="color: #000000">==</span><span style="color: #000000"> ConnectionReleaseMode.AFTER_STATEMENT </span><span style="color: #000000">&&</span><span style="color: #000000"> </span><span style="color: #000000">!</span><span style="color: #000000">connections.supportsAggressiveRelease() ) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_494_659_Closed_Text"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_494_659_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" /> log.warn( </span><span style="color: #000000">"</span><span style="color: #000000">Overriding release mode as connection provider does not support 'after_statement'</span><span style="color: #000000">"</span><span style="color: #000000"> );<br /><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" /> releaseMode </span><span style="color: #000000">=</span><span style="color: #000000"> ConnectionReleaseMode.AFTER_TRANSACTION;<br /><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" /> }</span></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" /> }</span></span></div>其举U¢è‰²éƒ¨åˆ†ž®±æ˜¯è°ƒç”¨äº†springæä¾›çš„默认å€û|¼Œè€Œspring的默认å€û|¼šåœ¨jtaå’Œcmtä¸éƒ½é»˜è®¤ä½¿ç”¨çš„æ˜¯after_statement<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img id="Codehighlighter1_0_328_Open_Image" onclick="this.style.display='none'; Codehighlighter1_0_328_Open_Text.style.display='none'; Codehighlighter1_0_328_Closed_Image.style.display='inline'; Codehighlighter1_0_328_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_0_328_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_0_328_Closed_Text.style.display='none'; Codehighlighter1_0_328_Open_Image.style.display='inline'; Codehighlighter1_0_328_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif"><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_0_328_Closed_Text">/** */</span><span id="Codehighlighter1_0_328_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br /><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" /> * Sets connection release mode "on_close" as default.<br /><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" /> * <p>This was the case for Hibernate 3.0; Hibernate 3.1 changed<br /><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" /> * it to "auto" (i.e. "after_statement" or "after_transaction").<br /><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" /> * However, for Spring's resource management (in particular for<br /><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" /> * HibernateTransactionManager), "on_close" is the better default.<br /><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" /> </span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /><img id="Codehighlighter1_384_428_Open_Image" onclick="this.style.display='none'; Codehighlighter1_384_428_Open_Text.style.display='none'; Codehighlighter1_384_428_Closed_Image.style.display='inline'; Codehighlighter1_384_428_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_384_428_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_384_428_Closed_Text.style.display='none'; Codehighlighter1_384_428_Open_Image.style.display='inline'; Codehighlighter1_384_428_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif"> </span><span style="color: #0000ff">public</span><span style="color: #000000"> ConnectionReleaseMode getDefaultReleaseMode() </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_384_428_Closed_Text"><img alt="" src="http://www.aygfsteel.com/Images/dot.gif" /></span><span id="Codehighlighter1_384_428_Open_Text"><span style="color: #000000">{<br /><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" /> </span><span style="color: #0000ff">return</span><span style="color: #000000"> ConnectionReleaseMode.ON_CLOSE;<br /><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" /> }</span></span><span style="color: #000000"><br /><img alt="" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" /></span></div><br />而springä¸ÞZ»€ä¹ˆè¦ä½¿ç”¨on_close åQŒè€Œä¸æ˜¯ç”¨after_transaction ,我们æƒÏxƒ³opensessioninview的原ç†ä¹Ÿè®¸èƒ½æ˜Žç™½åQŒsession在viewæˆè¿˜è¦ä‹É用,所以ä¸èƒ½å†transactio<span>n使用完åŽå…³é—JDBC connectionåQŒå¿…™å»è¦åœ¨session之åŽåQŒæ‰€ä»¥è¦ä½¿ç”¨on<strong>_close</strong></span><strong><span>åQ?/span><span>也就是在on session(flush.autoåQŒæˆ–者f(xi¨¦)lush.Eagerly) å…³é—åQ‰ã€‚è¿™¿U情况hibernate内部˜q˜ä¼šåœ¨springå…³é—JDBC connectionåŽæ½C?费解åQŒå› 为after transaction之åŽsession没有关é—åQŒä½†æ˜?nbsp;Connection release modeé…置的是on_close,session的关é—å’Œ Connection 的关é—都由springæ¥ç®¡ç†ï¼Œhibernatež®×ƒ¸çŸ¥é“äº?åQŒæ‰€ä»¥hibernate有好的æ½Cºå¦‚ä¸?其实sessionåQŒå·²¾lå…³é—。当焉™šç€session的关é—jdbcé“¾æŽ¥é‡Šæ”¾å›žè¿žæŽ¥æ± )åQ?/span><br /><span style="color: red">transaction completed on session with on_close connection release mode; be sure to cl</span></strong>ose the session to release JDBC resources!åQ?br /><br />。当然我们也å¯ä»¥ä½¿ç”¨after_transaction åQŒè¿™¿U情况对使用¾~–程å¼äº‹åŠ¡éžå¸”R€‚用ã€?br /> <img src ="http://www.aygfsteel.com/freeman1984/aggbug/363984.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/freeman1984/" target="_blank">疯狂</a> 2011-11-18 11:25 <a href="http://www.aygfsteel.com/freeman1984/archive/2011/11/18/363984.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item><item><title>spring JdbcTemplateçš„queryForObject为空˜q”回异常情况的一个处ç?/title><link>http://www.aygfsteel.com/freeman1984/archive/2011/10/25/361976.html</link><dc:creator>疯狂</dc:creator><author>疯狂</author><pubDate>Tue, 25 Oct 2011 02:59:00 GMT</pubDate><guid>http://www.aygfsteel.com/freeman1984/archive/2011/10/25/361976.html</guid><wfw:comment>http://www.aygfsteel.com/freeman1984/comments/361976.html</wfw:comment><comments>http://www.aygfsteel.com/freeman1984/archive/2011/10/25/361976.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/freeman1984/comments/commentRss/361976.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/freeman1984/services/trackbacks/361976.html</trackback:ping><description><![CDATA[看springçš„queryForObject(如果查询¾l“æžœæ¡æ•°ä¸?或者大äº?)都会˜q”回异常åQŒæˆ‘们希望没查到˜q”回nullåQŒè¿™æ ähˆ‘们就å¯ä»¥¾l™ç”¨æˆäh½Cºæ²¡æœ‰æ‰¾åˆŽÍ¼Œè¦ä¸æˆ‘们的æ¯ä¸ªqueryforObjectåQŒqueryForInt...½{‰ç‰æ–ÒŽ(gu¨©)³•éƒ½éœ€è¦æ‰‹åŠ¨æ‹¦æˆªè¿™ä¸ªå¼‚å¸¸æ¥åˆ¤æ–为空åQŒæ‰èƒ½åšå‡ºåˆ¤æ–ã€?br />先看下spring的这ŒD‰|ºç :
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img id="Codehighlighter1_106_252_Open_Image" onclick="this.style.display='none'; Codehighlighter1_106_252_Open_Text.style.display='none'; Codehighlighter1_106_252_Closed_Image.style.display='inline'; Codehighlighter1_106_252_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_106_252_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_106_252_Closed_Text.style.display='none'; Codehighlighter1_106_252_Open_Image.style.display='inline'; Codehighlighter1_106_252_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif"><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #000000"><</span><span style="color: #000000">T</span><span style="color: #000000">></span><span style="color: #000000"> T queryForObject(String sql, Object[] args, RowMapper</span><span style="color: #000000"><</span><span style="color: #000000">T</span><span style="color: #000000">></span><span style="color: #000000"> rowMapper) </span><span style="color: #0000ff">throws</span><span style="color: #000000"> DataAccessException </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_106_252_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_106_252_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" /> List</span><span style="color: #000000"><</span><span style="color: #000000">T</span><span style="color: #000000">></span><span style="color: #000000"> results </span><span style="color: #000000">=</span><span style="color: #000000"> query(sql, args, </span><span style="color: #0000ff">new</span><span style="color: #000000"> RowMapperResultSetExtractor</span><span style="color: #000000"><</span><span style="color: #000000">T</span><span style="color: #000000">></span><span style="color: #000000">(rowMapper, </span><span style="color: #000000">1</span><span style="color: #000000">));<br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" /> </span><span style="color: #0000ff">return</span><span style="color: #000000"> DataAccessUtils.requiredSingleResult(results);<br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" />}</span></span><span style="color: #000000"><br /><img id="Codehighlighter1_364_686_Open_Image" onclick="this.style.display='none'; Codehighlighter1_364_686_Open_Text.style.display='none'; Codehighlighter1_364_686_Closed_Image.style.display='inline'; Codehighlighter1_364_686_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_364_686_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_364_686_Closed_Text.style.display='none'; Codehighlighter1_364_686_Open_Image.style.display='inline'; Codehighlighter1_364_686_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif"></span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">static</span><span style="color: #000000"> </span><span style="color: #000000"><</span><span style="color: #000000">T</span><span style="color: #000000">></span><span style="color: #000000"> T requiredSingleResult(Collection</span><span style="color: #000000"><</span><span style="color: #000000">T</span><span style="color: #000000">></span><span style="color: #000000"> results) </span><span style="color: #0000ff">throws</span><span style="color: #000000"> IncorrectResultSizeDataAccessException </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_364_686_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_364_686_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" /> </span><span style="color: #0000ff">int</span><span style="color: #000000"> size </span><span style="color: #000000">=</span><span style="color: #000000"> (results </span><span style="color: #000000">!=</span><span style="color: #000000"> </span><span style="color: #0000ff">null</span><span style="color: #000000"> </span><span style="color: #000000">?</span><span style="color: #000000"> results.size() : </span><span style="color: #000000">0</span><span style="color: #000000">);<br /><img id="Codehighlighter1_436_544_Open_Image" onclick="this.style.display='none'; Codehighlighter1_436_544_Open_Text.style.display='none'; Codehighlighter1_436_544_Closed_Image.style.display='inline'; Codehighlighter1_436_544_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_436_544_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_436_544_Closed_Text.style.display='none'; Codehighlighter1_436_544_Open_Image.style.display='inline'; Codehighlighter1_436_544_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif"> </span><span style="color: #0000ff">if</span><span style="color: #000000"> (size </span><span style="color: #000000">==</span><span style="color: #000000"> </span><span style="color: #000000">0</span><span style="color: #000000">) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_436_544_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_436_544_Open_Text"><span style="color: #000000">{</span><span style="color: #008000">//</span><span style="color: #008000">记录为o˜q”回异常</span><span style="color: #008000"><br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" /></span><span style="color: #000000"> </span><span style="color: #0000ff">throw</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> EmptyResultDataAccessException(</span><span style="color: #000000">1</span><span style="color: #000000">);</span><span style="color: #008000">//</span><span style="color: #008000">æ¤å¼‚常ç‘ô承自IncorrectResultSizeDataAccessException</span><span style="color: #008000"><br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" /></span><span style="color: #000000"> }</span></span><span style="color: #000000"><br /><img id="Codehighlighter1_572_647_Open_Image" onclick="this.style.display='none'; Codehighlighter1_572_647_Open_Text.style.display='none'; Codehighlighter1_572_647_Closed_Image.style.display='inline'; Codehighlighter1_572_647_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_572_647_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_572_647_Closed_Text.style.display='none'; Codehighlighter1_572_647_Open_Image.style.display='inline'; Codehighlighter1_572_647_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif"> </span><span style="color: #0000ff">if</span><span style="color: #000000"> (results.size() </span><span style="color: #000000">></span><span style="color: #000000"> </span><span style="color: #000000">1</span><span style="color: #000000">) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_572_647_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_572_647_Open_Text"><span style="color: #000000">{有多æ¡è®°å½•返回异å¸?br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" /> </span><span style="color: #0000ff">throw</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> IncorrectResultSizeDataAccessException(</span><span style="color: #000000">1</span><span style="color: #000000">, size);<br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" /> }</span></span><span style="color: #000000"><br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" /> </span><span style="color: #0000ff">return</span><span style="color: #000000"> results.iterator().next();<br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" /> }</span></span><span style="color: #000000"><br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span></div><br /><br />䏋颿˜¯æˆ‘的一个方法,其他的方法请大家补充åQ?br />写一个接å£å®šä¹‰è§„则:
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img id="Codehighlighter1_41_89_Open_Image" onclick="this.style.display='none'; Codehighlighter1_41_89_Open_Text.style.display='none'; Codehighlighter1_41_89_Closed_Image.style.display='inline'; Codehighlighter1_41_89_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_41_89_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_41_89_Closed_Text.style.display='none'; Codehighlighter1_41_89_Open_Image.style.display='inline'; Codehighlighter1_41_89_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif"><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">interface</span><span style="color: #000000"> JdbcTemplateCallBack</span><span style="color: #000000"><</span><span style="color: #000000">T</span><span style="color: #000000">></span><span style="color: #000000"> </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_41_89_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_41_89_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" /> </span><span style="color: #0000ff">public</span><span style="color: #000000"> T querys(JdbcTemplate jdbcTemplate);<br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" />}</span></span></div>ç„¶åŽæ˜¯BaseDao的通用的方法:<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img id="Codehighlighter1_0_174_Open_Image" onclick="this.style.display='none'; Codehighlighter1_0_174_Open_Text.style.display='none'; Codehighlighter1_0_174_Closed_Image.style.display='inline'; Codehighlighter1_0_174_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_0_174_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_0_174_Closed_Text.style.display='none'; Codehighlighter1_0_174_Open_Image.style.display='inline'; Codehighlighter1_0_174_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif"><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_0_174_Closed_Text">/** */</span><span id="Codehighlighter1_0_174_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" /> * å¯ä»¥ç”¨äºŽå¤„ç†æŸ¥è¯¢queryfor 为空或者多æ¡çš„æ—¶å€™è¿”回异常的情况åQŒçŽ°åœ¨è¿”å›žnull,ä¸»è¦æ˜¯æ‹¦æˆªIncorrectResultSizeDataAccessException异常,以åŠåç±»<br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" /> * </span><span style="color: #808080">@param</span><span style="color: #008000"> jdbcTemplateCallBack<br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" /> * </span><span style="color: #808080">@return</span><span style="color: #008000"><br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" /> * </span><span style="color: #808080">@throws</span><span style="color: #008000"> DaoException<br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" /> </span><span style="color: #008000">*/</span></span><span style="color: #000000"><br /><img id="Codehighlighter1_270_565_Open_Image" onclick="this.style.display='none'; Codehighlighter1_270_565_Open_Text.style.display='none'; Codehighlighter1_270_565_Closed_Image.style.display='inline'; Codehighlighter1_270_565_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_270_565_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_270_565_Closed_Text.style.display='none'; Codehighlighter1_270_565_Open_Image.style.display='inline'; Codehighlighter1_270_565_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif"> </span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #000000"><</span><span style="color: #000000">T</span><span style="color: #000000">></span><span style="color: #000000"> T queryNullAble(JdbcTemplateCallBack</span><span style="color: #000000"><</span><span style="color: #000000">T</span><span style="color: #000000">></span><span style="color: #000000"> jdbcTemplateCallBack) </span><span style="color: #0000ff">throws</span><span style="color: #000000"> DaoException </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_270_565_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_270_565_Open_Text"><span style="color: #000000">{<br /><img id="Codehighlighter1_278_340_Open_Image" onclick="this.style.display='none'; Codehighlighter1_278_340_Open_Text.style.display='none'; Codehighlighter1_278_340_Closed_Image.style.display='inline'; Codehighlighter1_278_340_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_278_340_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_278_340_Closed_Text.style.display='none'; Codehighlighter1_278_340_Open_Image.style.display='inline'; Codehighlighter1_278_340_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif"> </span><span style="color: #0000ff">try</span><span style="color: #000000"> </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_278_340_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_278_340_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" /> </span><span style="color: #0000ff">return</span><span style="color: #000000"> jdbcTemplateCallBack.querys(getJdbcTemplate());<br /><img id="Codehighlighter1_362_562_Open_Image" onclick="this.style.display='none'; Codehighlighter1_362_562_Open_Text.style.display='none'; Codehighlighter1_362_562_Closed_Image.style.display='inline'; Codehighlighter1_362_562_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_362_562_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_362_562_Closed_Text.style.display='none'; Codehighlighter1_362_562_Open_Image.style.display='inline'; Codehighlighter1_362_562_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif"> }</span></span><span style="color: #000000"> </span><span style="color: #0000ff">catch</span><span style="color: #000000"> (Exception e) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_362_562_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_362_562_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" /> </span><span style="color: #0000ff">if</span><span style="color: #000000">((e </span><span style="color: #0000ff">instanceof</span><span style="color: #000000"> IncorrectResultSizeDataAccessException)<br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" /> </span><span style="color: #000000">&&</span><span style="color: #000000">((IncorrectResultSizeDataAccessException)e).getActualSize()</span><span style="color: #000000">==</span><span style="color: #000000">0</span><span style="color: #000000">)<br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" /> </span><span style="color: #0000ff">return</span><span style="color: #000000"> </span><span style="color: #0000ff">null</span><span style="color: #000000">;<br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" /> </span><span style="color: #008000">//</span><span style="color: #008000">其他的异常æ£å¸¸æŠ›å‡?/span><span style="color: #008000"><br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" /></span><span style="color: #000000"> </span><span style="color: #0000ff">throw</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> DaoException(e);<br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" /> }</span></span><span style="color: #000000"><br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" /> }</span></span></div><br />æœ€åŽæ˜¯è°ƒç”¨å®žä¾‹åQˆæ ¹æ®idæŸ¥ç”¨æˆøP¼‰åQ?br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img id="Codehighlighter1_94_352_Open_Image" onclick="this.style.display='none'; Codehighlighter1_94_352_Open_Text.style.display='none'; Codehighlighter1_94_352_Closed_Image.style.display='inline'; Codehighlighter1_94_352_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_94_352_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_94_352_Closed_Text.style.display='none'; Codehighlighter1_94_352_Open_Image.style.display='inline'; Codehighlighter1_94_352_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedBlock.gif"><span style="color: #0000ff">public</span><span style="color: #000000"> SUser getUserByColunm(</span><span style="color: #0000ff">final</span><span style="color: #000000"> String columnName, </span><span style="color: #0000ff">final</span><span style="color: #000000"> Object value) </span><span style="color: #0000ff">throws</span><span style="color: #000000"> DaoException </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_94_352_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_94_352_Open_Text"><span style="color: #000000">{<br /><img id="Codehighlighter1_153_347_Open_Image" onclick="this.style.display='none'; Codehighlighter1_153_347_Open_Text.style.display='none'; Codehighlighter1_153_347_Closed_Image.style.display='inline'; Codehighlighter1_153_347_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_153_347_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_153_347_Closed_Text.style.display='none'; Codehighlighter1_153_347_Open_Image.style.display='inline'; Codehighlighter1_153_347_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif"> </span><span style="color: #0000ff">return</span><span style="color: #000000"> queryNullAble(</span><span style="color: #0000ff">new</span><span style="color: #000000"> JdbcTemplateCallBack</span><span style="color: #000000"><</span><span style="color: #000000">SUser</span><span style="color: #000000">></span><span style="color: #000000">() </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_153_347_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_153_347_Open_Text"><span style="color: #000000">{<br /><img id="Codehighlighter1_205_343_Open_Image" onclick="this.style.display='none'; Codehighlighter1_205_343_Open_Text.style.display='none'; Codehighlighter1_205_343_Closed_Image.style.display='inline'; Codehighlighter1_205_343_Closed_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_205_343_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_205_343_Closed_Text.style.display='none'; Codehighlighter1_205_343_Open_Image.style.display='inline'; Codehighlighter1_205_343_Open_Text.style.display='inline';" align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ContractedSubBlock.gif"> </span><span style="color: #0000ff">public</span><span style="color: #000000"> SUser querys(JdbcTemplate jdbcTemplate) </span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_205_343_Closed_Text"><img src="http://www.aygfsteel.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_205_343_Open_Text"><span style="color: #000000">{<br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/InBlock.gif" alt="" /> </span><span style="color: #0000ff">return</span><span style="color: #000000"> jdbcTemplate.queryForObject(</span><span style="color: #000000">"</span><span style="color: #000000">select * from suser where </span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">columnName</span><span style="color: #000000">+</span><span style="color: #000000">"</span><span style="color: #000000">=?</span><span style="color: #000000">"</span><span style="color: #000000">, </span><span style="color: #0000ff">new</span><span style="color: #000000"> BeanPropertyRowMapper(SUser.</span><span style="color: #0000ff">class</span><span style="color: #000000">),value);<br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" /> }</span></span><span style="color: #000000"><br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" /> }</span></span><span style="color: #000000">);<br /><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" /> }</span></span></div><br />具体的工½E‹å¯ä»¥åœ¨<a href="http://www.aygfsteel.com/freeman1984/archive/2011/10/24/361899.html">http://www.aygfsteel.com/freeman1984/archive/2011/10/24/361899.html</a>里é¢ä¸‹è²ã€?br /><br /> <img src ="http://www.aygfsteel.com/freeman1984/aggbug/361976.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/freeman1984/" target="_blank">疯狂</a> 2011-10-25 10:59 <a href="http://www.aygfsteel.com/freeman1984/archive/2011/10/25/361976.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item><item><title>xsocketæºç 解读http://www.aygfsteel.com/freeman1984/archive/2011/10/19/361593.html疯狂疯狂Wed, 19 Oct 2011 09:34:00 GMThttp://www.aygfsteel.com/freeman1984/archive/2011/10/19/361593.htmlhttp://www.aygfsteel.com/freeman1984/comments/361593.htmlhttp://www.aygfsteel.com/freeman1984/archive/2011/10/19/361593.html#Feedback2http://www.aygfsteel.com/freeman1984/comments/commentRss/361593.htmlhttp://www.aygfsteel.com/freeman1984/services/trackbacks/361593.html阅读全文

]]> - android Tabhost部äšghttp://www.aygfsteel.com/freeman1984/archive/2009/11/18/302803.html疯狂疯狂Wed, 18 Nov 2009 07:44:00 GMThttp://www.aygfsteel.com/freeman1984/archive/2009/11/18/302803.htmlhttp://www.aygfsteel.com/freeman1984/comments/302803.htmlhttp://www.aygfsteel.com/freeman1984/archive/2009/11/18/302803.html#Feedback9http://www.aygfsteel.com/freeman1984/comments/commentRss/302803.htmlhttp://www.aygfsteel.com/freeman1984/services/trackbacks/302803.html阅读全文

]]>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º
ÁÖÎ÷ÏØ|
µ±ÑôÊÐ|
»¨Á«ÊÐ|
ÕòÆ½ÏØ|
μÄÏÊÐ|
ÓôÄÏÏØ|
µÂÇìÏØ|
¼¦Î÷ÊÐ|
¿¦Ê²ÊÐ|
ÁúÃÅÏØ|
ÒÁͨ|
ͨºÓÏØ|
ÖÙ°ÍÏØ|
ʯÃÅÏØ|
Ï°Ë®ÏØ|
¾Ą̊ÊÐ|
ÁÖµéÏØ|
·¨¿âÏØ|
Ê¯Ì¨ÏØ|
вýÏØ|
²×ÖÝÊÐ|
ÄϺÍÏØ|
ɽµ¤ÏØ|
°²ÔóÏØ|
¶«ÀöÇø|
ÓÏÑô|
ÌåÓý|
±¦·áÏØ|
ÑôÔÏØ|
¾ÃÖÎÏØ|
Îå»ªÏØ|
¾Å½ÏØ|
Ôý´ïÏØ|
ÁÙÒØÏØ|
SHOW|
°²¸£ÏØ|
ÀèÆ½ÏØ|
ÉÐÒåÏØ|
¶¨ÄÏÏØ|
ÄÏÕÄÏØ|
Èô¶û¸ÇÏØ|