锘??xml version="1.0" encoding="utf-8" standalone="yes"?>九月丁香婷婷亚洲综合色,亚洲精品无码mv在线观看网站,国产精品亚洲精品青青青http://www.tkk7.com/hyljava/category/51689.htmlzh-cnSat, 23 Nov 2013 23:12:41 GMTSat, 23 Nov 2013 23:12:41 GMT60鍥涙搗鍏村攼璇劇▼杈呭騫沖彴http://www.tkk7.com/hyljava/archive/2013/11/23/406728.html浣曚簯闅?/dc:creator>浣曚簯闅?/author>Sat, 23 Nov 2013 12:52:00 GMThttp://www.tkk7.com/hyljava/archive/2013/11/23/406728.htmlhttp://www.tkk7.com/hyljava/comments/406728.htmlhttp://www.tkk7.com/hyljava/archive/2013/11/23/406728.html#Feedback0http://www.tkk7.com/hyljava/comments/commentRss/406728.htmlhttp://www.tkk7.com/hyljava/services/trackbacks/406728.html鍥涙搗鍏村攼璇劇▼杈呭騫沖彴
http://fd.itedu-g.cn/login.php

]]>
Write operations are not allowed in read-only mode 鍙妯″紡涓?FlushMode.NEVER/MANUAL)鍐欐搷浣滀笉鍏?/title><link>http://www.tkk7.com/hyljava/archive/2012/09/05/387072.html</link><dc:creator>浣曚簯闅?/dc:creator><author>浣曚簯闅?/author><pubDate>Wed, 05 Sep 2012 03:57:00 GMT</pubDate><guid>http://www.tkk7.com/hyljava/archive/2012/09/05/387072.html</guid><wfw:comment>http://www.tkk7.com/hyljava/comments/387072.html</wfw:comment><comments>http://www.tkk7.com/hyljava/archive/2012/09/05/387072.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/hyljava/comments/commentRss/387072.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/hyljava/services/trackbacks/387072.html</trackback:ping><description><![CDATA[<div id="hvdndjr" class="articalTitle" isshow="1"> <h2 id="t_656ffe730100ugtw" class="titName SG_txta"> <h2 id="t_656ffe730100ugtw" class="titName SG_txta"></h2>Write operations are not allowed in read-only mode 鍙妯″紡涓?FlushMode.NEVER/MANUAL)鍐欐搷浣滀笉鍏?/h2><span id="nrjntr7" class="time SG_txtc"> </span><!-- 姝f枃寮濮?--> </div> <div class="z9ppfjl" id="sina_keyword_ad_area2" class="articalContent "> <div> <p>org.springframework.dao.InvalidDataAccessApiUsag<wbr>eException: Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition.</p> <p><span style="color: #ff0000; font-size: 18px">闂</span>錛?span style="font-family: 瀹嬩綋; color: #0055ff; font-size: 14px">鍙妯″紡涓?FlushMode.NEVER/MANUAL)鍐欐搷浣滀笉琚厑璁革細鎶婁綘鐨凷ession鏀規(guī)垚FlushMode.COMMIT/AUTO鎴栬呮竻闄や簨鍔″畾涔変腑鐨剅eadOnly鏍囪銆?/span></p> <p> <wbr></p> <p>閿欒鍘熷洜:<br /> <wbr><span style="color: #5500ff; font-size: 16px"> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>  <wbr>OpenSessionInViewFilter鍦╣etSession鐨勬椂鍊?浼氭妸鑾峰彇鍥炴潵鐨剆ession鐨刦lush mode 璁句負<span style="color: #0f9932">FlushMode.NEVER</span>銆傜劧鍚庢妸璇essionFactory緇戝畾鍒?span style="color: #0f9932">TransactionSynchronizati<wbr>onManager</span>錛屼嬌request鐨勬暣涓繃紼嬮兘浣跨敤鍚屼竴涓猻ession錛屽湪璇鋒眰榪囧悗鍐嶆帴闄よsessionFactory鐨勭粦瀹氾紝鏈鍚?/span><span style="color: #5500ff; font-size: 16px">closeSessionIfNecessary</span><span style="color: #5500ff; font-size: 16px">鏍規(guī)嵁璇ession鏄惁宸插拰transaction緇戝畾鏉ュ喅瀹氭槸鍚﹀叧闂璼ession銆傚湪榪欎釜榪囩▼涓紝鑻ibernateTemplate 鍙戠幇鑷綋鍓峴ession鏈変笉鏄痳eadOnly鐨則ransaction錛屽氨浼氳幏鍙栧埌FlushMode.AUTO Session錛屼嬌鏂規(guī)硶鎷ユ湁鍐欐潈闄愩?/span><span style="color: #5500ff; font-size: 16px">涔熷嵆鏄紝濡傛灉鏈変笉鏄痳eadOnly鐨則ransaction灝卞彲浠ョ敱Flush.NEVER杞負Flush.AUTO,鎷ユ湁insert,update,delete鎿嶄綔鏉冮檺錛屽鏋滄病鏈塼ransaction錛屽茍涓旀病鏈夊彟澶栦漢涓哄湴璁緁lush model鐨勮瘽錛屽垯doFilter鐨勬暣涓繃紼嬮兘鏄疐lush.NEVER銆傛墍浠ュ彈transaction<span style="color: #00cc22">(</span><u><span style="color: #00cc22">澹版槑寮忕殑浜嬪姟</span></u><span style="color: #00cc22">)</span>淇濇姢鐨勬柟娉曟湁鍐欐潈闄愶紝娌″彈淇濇姢鐨勫垯娌℃湁銆?/span><br /><br /><u>瑙e喅鏂規(guī)硶:</u></p> <p><span style="color: #5500ff">web.xml閰嶇疆閲屾坊鍔?/span><br /><span style="color: #0f9932"><filter></span><br /><span style="color: #0f9932"> <wbr> <wbr> <filter-name>OpenSessionInViewFilter</filter-name></span><br /><span style="color: #0f9932"> <wbr> <wbr> <filter-class></span><br /><span style="color: #0f9932"> <wbr> <wbr> <wbr> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</span><br /><span style="color: #0f9932"> <wbr> <wbr> </filter-class></span><br /><span style="color: #0f9932"> <wbr> <wbr> <init-param></span><br /><span style="color: #0f9932"> <wbr> <wbr> <wbr> <param-name>sessionFactoryBeanName</param-name></span><br /><span style="color: #0f9932"> <wbr> <wbr> <wbr> <param-value>sessionFactory</param-value></span><br /><span style="color: #0f9932"> <wbr> <wbr> </init-param></span><br /><span style="color: #0f9932"> <wbr> <wbr> <init-param></span><br /><span style="color: #0f9932"> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <param-name>singleSession</param-name></span><br /><span style="color: #0f9932"> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <param-value>true</param-value> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr></span><br /><span style="color: #0f9932"> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> </init-param></span><br /><span style="color: #0f9932"> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <init-param></span><br /><span style="color: #0f9932"> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <param-name> flushMode </param-name></span><br /><span style="color: #0f9932"> <wbr> <wbr> <param-value>AUTO </param-value> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr></span><br /><span style="color: #0f9932"> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> </init-param></span><br /><span style="color: #0f9932"></filter></span><br /> <wbr> <wbr>// <wbr> <wbr> 銆傘傘傘?/p> <p><br /><span style="color: #0f9932"><filter-mapping></span><br /><span style="color: #0f9932"> <wbr> <wbr> <filter-name>OpenSessionInViewFilter</filter-name></span><br /><span style="color: #0f9932"> <wbr> <wbr> <url-pattern>/*</url-pattern></span><br /><span style="color: #0f9932"></filter-mapping></span></p> <p> <wbr></p> <p><span style="color: #0f9932">濡傛灉鍦ㄤ氦緇檚pring 綆$悊鐨勬儏鍐典笅錛屽湪beans.xml 閲岀殑閰嶇疆</span></p> <p><span style="color: #0f9932"> <wbr><bean id="txManager"<br /> <wbr> <wbr>class="org.springframework.orm.hibernate3.HibernateTransactionMana<wbr>ger"><br /> <wbr> <wbr><property name="sessionFactory" ref="sessionFactory" /><br /> <wbr></bean></span></p> <p><span style="color: #0f9932"> <wbr><aop:config><br /> <wbr> <wbr><aop:pointcut id="bussinessService"<br /> <wbr> <wbr> <wbr>expression="execution(* com.fan.service.base.*.*(..))" /><br /> <wbr> <wbr><aop:advisor pointcut-ref="bussinessService"<br /> <wbr> <wbr> <wbr>advice-ref="txAdvice" /><br /> <wbr></aop:config></span></p> <p><span style="color: #0f9932"> <wbr><tx:advice id="txAdvice" transaction-manager="txManager"><br /> <wbr> <wbr><tx:attributes><br /> <wbr> <wbr> <wbr><tx:method name="get*" read-only="false" propagation="NOT_SUPPORTED"/><br /> <wbr> <wbr> <wbr><tx:method name="find*" read-only="false" propagation="NOT_SUPPORTED"/><br /> <wbr> <wbr> <wbr><tx:method name="save*" propagation="REQUIRED"/> // 濡傛灉涓嶆妸save update delete閮介厤緗笂錛?br /> <wbr> <wbr> <wbr><tx:method name="update*" propagation="REQUIRED"/> <wbr>//榪欎簺鎿嶄綔浼氭棤鏁?br /> <wbr> <wbr> <wbr><tx:method name="delete*" propagation="REQUIRED"/><br /> <wbr> <wbr></tx:attributes><br /> <wbr></tx:advice></span></p></div></div><img src ="http://www.tkk7.com/hyljava/aggbug/387072.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/hyljava/" target="_blank">浣曚簯闅?/a> 2012-09-05 11:57 <a href="http://www.tkk7.com/hyljava/archive/2012/09/05/387072.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Hibernate鐨刧enerator灞炴?http://www.tkk7.com/hyljava/archive/2012/06/19/381110.html浣曚簯闅?/dc:creator>浣曚簯闅?/author>Tue, 19 Jun 2012 09:54:00 GMThttp://www.tkk7.com/hyljava/archive/2012/06/19/381110.htmlhttp://www.tkk7.com/hyljava/comments/381110.htmlhttp://www.tkk7.com/hyljava/archive/2012/06/19/381110.html#Feedback0http://www.tkk7.com/hyljava/comments/commentRss/381110.htmlhttp://www.tkk7.com/hyljava/services/trackbacks/381110.htmlHibernate鐨刧enerator灞炴?
    鏈枃璁茶堪Hibernate鐨刧enerator灞炴х殑鎰忎箟銆侴enerator灞炴ф湁7縐峜lass錛屾湰鏂囩畝鐣ユ弿榪頒簡榪?縐峜lass鐨勬剰涔夊拰鐢ㄦ硶銆?
    1. <class name="onlyfun.caterpillar.User"  
    2. table="USER">   
    3. <id name="id" type="string" unsaved-value="null">   
    4. <column name="USER_ID"/>   
    5. <generator class="uuid.hex"/>  
    6. </id>   
    7. </class>   
       

    Hibernate鐨凣enerator灞炴ф湁7縐峜lass錛屾湰鏂囩畝鐣ユ弿榪頒簡榪?縐峜lass鐨勬剰涔夊拰鐢ㄦ硶銆?/p>

    1銆乮dentity錛氱敤浜嶮ySql鏁版嵁搴撱傜壒鐐癸細閫掑

     

    1. <id name="id" column="id">  
    2. < generator class="identity"/>  
    3. </id>  

     

    娉細瀵逛簬MySql鏁版嵁搴撲嬌鐢ㄩ掑搴忓垪鏃墮渶瑕佸湪寤鴻〃鏃跺涓婚敭鎸囧畾涓篴uto_increment灞炴с?/p>

    2銆乻equence錛氱敤浜嶰racle鏁版嵁搴?

     

    1. <id name="id" column="id">  
    2. <generator class="sequence">  
    3. <param name="sequence">搴忓垪鍚?/span></param>  
    4. </generator>  
    5. </id>   

     

    3銆乶ative錛氳法鏁版嵁搴撴椂浣跨敤錛岀敱搴曞眰鏂硅█浜х敓銆?
    Default.sequence涓篽ibernate_sequence

     

    1. <id name="id" column="id">  
    2. <generator class="native"/>  
    3. </id>   

     

    娉細浣跨敤native鏃禜ibernate榛樿浼氬幓鏌ユ壘Oracle涓殑hibernate_sequence搴忓垪銆?
    濡傛灉Oracle涓病鏈夎搴忓垪錛岃繛Oracle鏁版嵁搴撴椂浼氭姤閿欍?/p>

    4銆乭ilo錛氶氳繃楂樹綆浣嶅悎鎴恑d錛屽厛寤鴻〃hi_value錛屽啀寤哄垪next_value銆傚繀欏昏鏈夊垵濮嬪箋?/p>

     

    1. <id name="id" column="id">  
    2. <generator class="hilo">  
    3. <param name="table">high_val</param>  
    4. <param name="column">nextval</param>  
    5. <param name="max_lo">5</param>  
    6. </generator>  
    7. </id>    

     

    5銆乻equencehilo錛氬悓榪囬珮浣庝綅鍚堟垚id錛屽緩涓涓猻equence搴忓垪錛屼笉鐢ㄥ緩琛ㄣ?

     

    1. <id name="id" column="id">  
    2. <generator class="hilo">  
    3. <param name="sequence">high_val_seq</param>  
    4. <param name="max_lo">5</param>  
    5. </generator>  
    6. </id>   

     

    6銆乤ssigned錛氱敤鎴瘋嚜瀹氫箟id;

     

    1. <id name="id" column="id">   
    2. <generator class="assigned"/>  
    3. </id>   

     

    7銆乫oreign錛氱敤浜庝竴瀵逛竴鍏崇郴鍏變韓涓誨仴鏃訛紝涓d鍊間竴鏍楓?/p>

    鏈枃璁茶ВHibernate涓環(huán)bm鐨刧enerator瀛愬厓绱犵殑涓浜涘唴緗敓鎴愬櫒鐨勫揩鎹峰悕瀛椼侴enerator瀛愬厓绱犳槸涓涓潪甯哥畝鍗曠殑鎺ュ彛錛涙煇浜涘簲鐢ㄧ▼搴忓彲浠ラ夋嫨鎻愪緵浠栦滑鑷繁鐗瑰畾鐨勫疄鐜般?/p>

    鍦?.hbm.xml蹇呴』澹版槑鐨?lt; generator>瀛愬厓绱犳槸涓涓狫ava綾葷殑鍚嶅瓧錛岀敤鏉ヤ負璇ユ寔涔呭寲綾葷殑瀹炰緥鐢熸垚鍞竴鐨勬爣璇嗐?/p>

     

    1. <generator class="sequence"/>  

     

    榪欐槸涓涓潪甯哥畝鍗曠殑鎺ュ彛錛涙煇浜涘簲鐢ㄧ▼搴忓彲浠ラ夋嫨鎻愪緵浠栦滑鑷繁鐗瑰畾鐨勫疄鐜般傚綋鐒訛紝Hibernate鎻愪緵浜嗗緢澶氬唴緗殑瀹炵幇銆備笅闈㈡槸Generator瀛愬厓绱犵殑涓浜涘唴緗敓鎴愬櫒鐨勫揩鎹峰悕瀛楋細

    increment錛堥掑錛?/strong>

    鐢ㄤ簬涓簂ong, short鎴栬卛nt綾誨瀷鐢熸垚鍞竴鏍囪瘑銆傚彧鏈夊湪娌℃湁鍏朵粬榪涚▼寰鍚屼竴寮犺〃涓彃鍏ユ暟鎹椂鎵嶈兘浣跨敤銆?鍦ㄩ泦緹や笅涓嶈浣跨敤銆?/p>

    identity

    瀵笵B2,MySQL, MS SQL Server, Sy锝傦絹锝擄絽鍜孒ypersonicSQL鐨勫唴緗爣璇嗗瓧孌墊彁渚涙敮鎸併傝繑鍥炵殑鏍囪瘑絎︽槸long, short 鎴栬卛nt綾誨瀷鐨勩?/p>

    sequence 錛堝簭鍒楋級

    鍦―B2,PostgreSQL, Oracle, SAP DB, McKoi涓嬌鐢ㄥ簭鍒楋紙sequence)錛岃屽湪Inter锝傦絹锝擄絽涓嬌鐢ㄧ敓鎴愬櫒(generator)銆傝繑鍥炵殑鏍囪瘑絎︽槸long, short鎴栬?int綾誨瀷鐨勩?/p>

    hilo 錛堥珮浣庝綅錛?/strong>

    浣跨敤涓涓珮/浣庝綅綆楁硶鏉ラ珮鏁堢殑鐢熸垚long, short鎴栬?int綾誨瀷鐨勬爣璇嗙銆傜粰瀹氫竴涓〃鍜屽瓧孌碉紙榛樿鍒嗗埆鏄槸hibernate_unique_key 鍜宯ext_hi錛変綔涓洪珮浣嶅煎緱鏉ユ簮銆傞珮/浣庝綅綆楁硶鐢熸垚鐨勬爣璇嗙鍙湪涓涓壒瀹氱殑鏁版嵁搴撲腑鏄敮涓鐨勩傚湪浣跨敤JTA鑾峰緱鐨勮繛鎺ユ垨鑰呯敤鎴瘋嚜琛屾彁渚涚殑榪炴帴涓紝涓嶈浣跨敤榪欑鐢熸垚鍣ㄣ?/p>

    seqhilo錛堜嬌鐢ㄥ簭鍒楃殑楂樹綆浣嶏級

    浣跨敤涓涓珮/浣庝綅綆楁硶鏉ラ珮鏁堢殑鐢熸垚long, short鎴栬?int綾誨瀷鐨勬爣璇嗙錛岀粰瀹氫竴涓暟鎹簱搴忓垪錛坰equence)鐨勫悕瀛椼?/p>

    uuid.hex

    鐢ㄤ竴涓?28-bit鐨刄UID綆楁硶鐢熸垚瀛楃涓茬被鍨嬬殑鏍囪瘑絎︺傚湪涓涓綉緇滀腑鍞竴錛堜嬌鐢ㄤ簡IP鍦板潃錛夈俇UID琚紪鐮佷負涓涓?2浣?6榪涘埗鏁板瓧鐨勫瓧絎︿覆銆?/p>

    uuid.string

    浣跨敤鍚屾牱鐨刄UID綆楁硶銆俇UID琚紪鐮佷負涓涓?6涓瓧絎﹂暱鐨勪換鎰廇SCII瀛楃緇勬垚鐨勫瓧絎︿覆銆備笉鑳戒嬌鐢ㄥ湪PostgreSQL鏁版嵁搴撲腑

    native錛堟湰鍦幫級

    鏍規(guī)嵁搴曞眰鏁版嵁搴撶殑鑳藉姏閫夋嫨identity, sequence 鎴栬卙ilo涓殑涓涓?/p>

    assigned錛堢▼搴忚緗級

    璁╁簲鐢ㄧ▼搴忓湪save()涔嬪墠涓哄璞″垎閰嶄竴涓爣紺虹銆?/p>

    foreign錛堝閮ㄥ紩鐢級

    浣跨敤鍙﹀涓涓浉鍏寵仈鐨勫璞$殑鏍囪瘑絎︺傚拰< one-to-one>鑱斿悎涓璧蜂嬌鐢ㄣ?/p>

    Generator瀛愬厓绱犵殑鐢ㄦ硶錛?

     

    1. <class name="onlyfun.caterpillar.User" table="USER">  
    2. <id name="id" type="string" unsaved-value="null">  
    3. <column name="USER_ID"/>  
    4. <generator class="uuid.hex"/>  
    5. </id>  
    6. </class>  

     

 


]]>
LOG4J鐨勮В鏋?/title><link>http://www.tkk7.com/hyljava/archive/2012/05/28/379380.html</link><dc:creator>浣曚簯闅?/dc:creator><author>浣曚簯闅?/author><pubDate>Mon, 28 May 2012 11:06:00 GMT</pubDate><guid>http://www.tkk7.com/hyljava/archive/2012/05/28/379380.html</guid><wfw:comment>http://www.tkk7.com/hyljava/comments/379380.html</wfw:comment><comments>http://www.tkk7.com/hyljava/archive/2012/05/28/379380.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/hyljava/comments/commentRss/379380.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/hyljava/services/trackbacks/379380.html</trackback:ping><description><![CDATA[<p>鏂規(guī)硶涓銆?瑙e喅鐨勫姙娉曡嚜鐒舵槸鐢ㄧ浉瀵硅礬寰勪唬鏇跨粷瀵硅礬寰勶紝鍏跺疄log4j鐨凢ileAppender鏈韓灝辨湁榪欐牱鐨勬満鍒訛紝濡傦細log4j.appender.logfile.File=${WORKDIR}/logs/app.log <br />鍏朵腑“${WORKDIR}/”鏄釜鍙橀噺錛屼細琚玈ystem Property涓殑“WORKDIR”鐨勫間唬鏇褲傝繖鏍鳳紝鎴戜滑灝卞彲浠ュ湪log4j鍔犺澆閰嶇疆鏂囦歡涔嬪墠錛屽厛鐢⊿ystem.setProperty ("WORKDIR", WORKDIR);璁劇疆濂芥牴璺緞錛屾鎿嶄綔鍙氳繃涓鍒濆鐨剆ervlet榪涜銆?</p> <p>鏂規(guī)硶浜屻佸彲浠ヤ嬌鐢ㄦ湇鍔″櫒鐜鍙橀噺 <br />log4j鐨勯厤緗枃浠舵敮鎸佹湇鍔″櫒鐨剉m鐨勭幆澧冨彉閲忥紝鏍煎紡綾諱技${catalina.home} <br />log4j.appender.R=org.apache.log4j.RollingFileAppender <br />log4j.appender.R.File=${catalina.home}/logs/logs_tomcat.log <br />log4j.appender.R.MaxFileSize=10KB <br />鍏朵腑鐨?{catalina.home}騫墮潪windows緋葷粺鐨勭幆澧冨彉閲忥紝榪欎釜鐜鍙橀噺灝變笉闇瑕佸湪Windows緋葷粺鐨勭幆澧冨彉閲忎腑璁劇疆銆備箣鎵浠ヨ繖鏍鳳紝浣犲彲浠ョ湅鐪媡omcat\bin\catalina.bat(startup,shutdown閮芥槸璋冪敤榪欎釜)閲岄潰鑷甫鏈?Dcatalina.home= "%CATALINA_HOME%" 銆傜戶鎵胯繖涓濇兂錛屾墍浠ヤ綘涔熷彲浠ヨ嚜宸辮瀹氫竴涓弬鏁?Dmylog.home="D:/abc/log"鍒板搴旂殑鏈嶅姟鍣╦ava鍚姩鐨剉m鍙傛暟涓?</p> <p>鏂規(guī)硶涓夈侀氳繃servlet鍒濆鍖杋nit()鏂規(guī)硶涓姞杞絝ile灞炴у疄鐜扮浉瀵硅礬寰?<br />鍏蜂綋瀹炵幇:鍋氫竴涓猻ervlet,鍦ㄧ郴緇熷姞杞界殑鏃跺?灝辨妸properties鐨勬枃浠惰鍒頒竴涓猵roperties鏂囦歡涓?閭d釜file鐨勫睘鎬у?鎴戜嬌鐢ㄧ殑鏄浉瀵圭洰褰?鏀規(guī)帀(鍓嶉潰鍔犱笂緋葷粺鐨勬牴鐩綍),璁╁悗鎶婅繖涓猵roperties瀵硅薄璁劇疆鍒皃ropertyConfig涓幓,榪欐牱灝卞垵濮嬪寲浜唋og鐨勮緗?鍦ㄥ悗闈㈢殑浣跨敤涓氨鐢ㄤ笉鐫鍐嶉厤緗簡 <br />涓鑸湪鎴戜滑寮鍙戦」鐩繃紼嬩腑,log4j鏃ュ織杈撳嚭璺緞鍥哄畾鍒版煇涓枃浠跺す,榪欐牱濡傛灉鎴戞崲涓涓幆澧?鏃ュ織璺緞鍙堥渶瑕侀噸鏂頒慨鏀?姣旇緝涓嶆柟渚?鐩墠鎴戦噰鐢ㄤ簡鍔ㄦ佹敼鍙樻棩蹇楄礬寰勬柟娉曟潵瀹炵幇鐩稿璺緞淇濆瓨鏃ュ織鏂囦歡 <br />(1).鍦ㄩ」鐩惎鍔ㄦ椂,瑁呭叆鍒濆鍖栫被: <br />public class Log4jInit extends HttpServlet { <br />         static Logger logger = Logger.getLogger(Log4jInit.class); <br />         public Log4jInit() { <br />         } </p> <p>         public void init(ServletConfig config) throws ServletException { <br />             String prefix = config.getServletContext().getRealPath("/"); <br />             String file = config.getInitParameter("log4j"); <br />             String filePath = prefix + file; <br />             Properties props = new Properties(); <br />             try { <br />                 FileInputStream istream = new FileInputStream(filePath); <br />                 props.load(istream); <br />                 istream.close(); <br />                 //toPrint(props.getProperty("log4j.appender.file.File")); <br />                 String logFile = prefix + props.getProperty("log4j.appender.file.File");//璁劇疆璺緞 <br />                 props.setProperty("log4j.appender.file.File",logFile); <br />                 PropertyConfigurator.configure(props);//瑁呭叆log4j閰嶇疆淇℃伅 <br />             } catch (IOException e) { <br />                 toPrint("Could not read configuration file [" + filePath + "]."); <br />                 toPrint("Ignoring configuration file [" + filePath + "]."); <br />                 return; <br />             } <br />         } </p> <p>         public static void toPrint(String content) { <br />             System.out.println(content); <br />         } <br />} <br />瀹為檯涓妉og4j鐨勯厤緗枃浠秎og4j.properties濡備負榛樿鍚嶏紝鍙斁緗湪JVM鑳借鍒扮殑classpath閲岀殑浠繪剰鍦版柟錛屼竴鑸槸鏀懼湪WEB- INF/classes鐩綍涓嬨傚綋log4j鐨勯厤緗枃浠朵笉鍐嶆槸榛樿鍚嶏紝鍒欓渶瑕佸彟澶栧姞杞藉茍緇欏嚭鍙傛暟錛屽涓?“ropertyConfigurator.configure(props);//瑁呭叆log4j閰嶇疆淇℃伅” </p> <p>(2).Web.xml涓殑閰嶇疆 <br /><servlet> <br />         <servlet-name>log4j-init</servlet-name> <br />         <servlet-class>Log4jInit</servlet-class> <br />         <init-param> <br />           <param-name>log4j</param-name> <br />           <param-value>WEB-INF/classes/log4j.properties</param-value> <br />         </init-param> <br />         <load-on-startup>1</load-on-startup> <br />       </servlet> </p> <p>娉ㄦ剰錛氫笂闈㈢殑load-on-startup璁句負0錛屼互渚垮湪Web瀹瑰櫒鍚姩鏃跺嵆瑁呭叆璇ervlet銆俵og4j.properties鏂囦歡鏀懼湪鏍圭殑properties瀛愮洰褰曚腑錛屼篃鍙互鎶婂畠鏀懼湪鍏跺畠鐩綍涓傚簲璇ユ妸.properties鏂囦歡闆嗕腑瀛樻斁錛岃繖鏍鋒柟渚跨鐞嗐?<br />(3).log4j.properties涓嵆鍙厤緗甽og4j.appender.file.File涓哄綋鍓嶅簲鐢ㄧ殑鐩稿璺緞. </p> <p><br />浠ヤ笂鏄綉涓妉og4j鏃ュ織鏂囦歡鐨勭浉瀵硅礬寰勯厤緗殑涓夌鏂規(guī)硶錛堟垜鑳芥壘鍒扮殑灝變笁縐嶏級錛屽垎鏋愶細 </p> <p>鏂規(guī)硶涓涓昏鏄墿灞曚簡log4j鐨凴ollingFileAppender綾伙紝鍏朵粬鐨凢ileAppender鍚屾牱閬撶悊銆傛墿灞曠殑鏂規(guī)硶錛屽氨鏄敤涓涓瓙綾誨幓瑕嗙洊setFile鏂規(guī)硶錛岃繖涓柟娉曞湪log4j璇誨彇閰嶇疆鏂囦歡鐢熸垚appender鐨勬椂鍊欒皟鐢紝浼犲叆鐨勫氨鏄厤 <br />緗枃浠朵腑鐨勮礬寰勶紝榪欐牱鎴戝氨鍙互鎸夌収鑷繁鐨勬兂娉曞湪璺緞鍓嶉潰鍔犱笂鏍硅礬寰勪簡銆傝繖縐嶆柟娉曞彲浠ュ湪log4j.properties涓敤鐩稿璺緞鑷敱閰嶇疆log4j.appender.A1.File灞炴ф潵鍐沖畾鐢熸垚鐨勬棩蹇楃浉瀵箇eb搴旂敤鏍?<br />鐩綍鐨勪綅緗?</p> <p>鏂規(guī)硶浜屾槸鍒╃敤鏈嶅姟鍣╲m涓凡緇忓瓨鍦ㄧ殑鐜鍙橀噺濡?{catalina.home}鏉ヨ緗浉瀵逛簬${catalina.home}鐨勬棩蹇楄礬寰勶紝鏃ュ織鍙兘鏀懼埌鏈嶅姟鍣ㄥ瓙鐩綍閲岋紝鑰屼笖濡傛灉鏄敤鐨勫叾瀹冩湇鍔″櫒錛屽垯瑕佹敼瀵瑰簲鐨勭幆澧冨彉閲忋傛鏂規(guī)硶騫沖彴縐繪涓嶆柟渚褲?</p> <p>鏂規(guī)硶涓夋槸鎵╁睍ActionServlet綾伙紝瑕嗙洊鍏秈nit()鏂規(guī)硶錛屾柊鏂規(guī)硶涓澆鍏og4j.properties浣嶇疆鐨勫弬鏁幫紝鍙互鑷敱閰嶇疆log4j鐨勯厤緗枃浠剁殑鍚嶅瓧鍜屽瓨鏀句綅緗備篃鍙嚜鐢遍厤緗甽og4j鏃ュ織鏂囦歡鐨勭浉瀵逛簬褰撳墠搴旂敤鐨勮礬寰勩傝 <br />緇嗕唬鐮佸涓嬶細 </p> <p>紼嬪簭浠g爜 <br />package wbb.bysxxglxt.util; </p> <p>import org.apache.struts.action.*; <br />import org.apache.commons.logging.LogFactory; <br />import org.apache.commons.logging.Log; <br />import javax.servlet.ServletException; <br />import java.util.Properties; <br />import java.io.InputStream; <br />import org.apache.log4j.PropertyConfigurator; <br />import java.io.FileInputStream; <br />import java.io.IOException; </p> <p>public class ExtendedActionServlet extends ActionServlet { <br />        private Log log = LogFactory.getLog(this.getClass().getName()); </p> <p>        public ExtendedActionServlet() {} </p> <p>        public void init() throws ServletException { <br />            log.info( <br />                    "Initializing, My MyActionServlet init this System's Const Variable"); <br />            String prefix = this.getServletConfig().getServletContext().getRealPath( <br />                    "/"); <br />            String file = this.getServletConfig().getInitParameter("log4j"); <br />            String filePath = prefix + file; <br />            Properties props = new Properties(); <br />            System.out.println(prefix); <br />            System.out.println(file); <br />            System.out.println(filePath); </p> <p>            try { <br />                FileInputStream log4jStream = new FileInputStream(filePath); <br />                props.load(log4jStream); <br />                log4jStream.close(); <br />                String logFile = prefix + <br />                                 props.getProperty("log4j.appender.A1.File"); //璁劇疆璺緞 </p> <p>                System.out.println(logFile); <br />                props.setProperty("log4j.appender.A1.File", logFile); <br />                PropertyConfigurator.configure(props); //瑁呭叆log4j閰嶇疆淇℃伅 <br />            } catch (IOException e) { <br />                e.printStackTrace(); <br />            } <br />            log.info("Initializing, end My Init"); <br />            super.init();//搴旂敤浜唖truts,姝ゆ柟娉曚笉鑳界渷錛孉ctionServlet瑕嗙洊浜嗙殑姝ゆ柟娉曚腑鏈夊緢澶氶噸瑕佹搷浣?<br />        } <br />} </p> <p><br />**********************搴旂敤web.xml 鍏抽敭閮ㄥ垎*************************** </p> <p>      <br />紼嬪簭浠g爜 <br /><servlet> <br />        <servlet-name>action</servlet-name> <br />        <servlet-class>wbb.bysxxglxt.util.ExtendedActionServlet</servlet-class> <br />        <init-param> <br />          <param-name>config</param-name> <br />          <param-value>/WEB-INF/struts-config.xml</param-value> <br />        </init-param> <br />        <init-param> <br />            <param-name>log4j</param-name> <br />            <param-value>properties\log4j.properties</param-value>                    <br />          </init-param> <br />        <init-param> <br />          <param-name>debug</param-name> <br />          <param-value>0</param-value> <br />        </init-param> <br />        <init-param> <br />          <param-name>application</param-name> <br />          <param-value>ApplicationResources</param-value> <br />        </init-param> <br />        <load-on-startup>0</load-on-startup> <br />      </servlet> <br />      <servlet-mapping> <br />        <servlet-name>action</servlet-name> <br />        <url-pattern>*.do</url-pattern> <br />      </servlet-mapping> </p> <p><br />娉ㄦ剰log4j鍙傛暟涓浉瀵硅礬寰勭殑鏂滄潬綰跨殑鍐欐硶錛岃屼笖log4j灞炴ф枃浠跺鏀劇疆鍦╳eb-inf/classes鐩綍鎴杦eb-inf絳夌洰褰曚腑鏈濂芥敼鍚嶏紝鍥犱負鍦ㄥ姞杞芥Servlet涔嬪墠錛屾湇鍔″櫒濡倀omcat鍚姩鏃朵細鑷姩鎼滅儲web-inf鐩綍鍜寃eb-inf/classes鐩綍涓璴og4j.properties鏂囦歡錛屽鏈夊垯鑷姩鍔犺澆銆俵og4j灞炴ф枃浠跺姞杞藉悗,鐢變簬璇ュ睘鎬ф枃浠朵腑log4j.appender.A1.File鐨勫肩敤鐨勬槸鐩稿璺緞錛岃嚜鍔ㄥ姞杞介厤緗究浼氬嚭閿欙細 <br />log4j:ERROR setFile(null,true) call failed. <br />java.io.FileNotFoundException: WEB-INF\logs\bysxxglxt.log (緋葷粺鎵句笉鍒版寚瀹氱殑璺緞銆? <br />涓嶇煡閬搇og4j涓轟粈涔堜細榪欎箞鏃╄嚜鍔ㄥ惎鍔ㄣ傚敖綆″悗闈㈠姞杞芥墿灞曠殑ActionServlet涓紜緗簡log4j灞炴ф枃浠跺茍姝e父鍔犺澆浜嗭紝浣嗘姤鐨勮繖涓敊榪樻槸鎬笉鐖界殑錛屼簬鏄彧鏈夋洿鏀筶og4j灞炴ф枃浠跺悕瀛楁垨鑰呮洿鏀瑰叾瀛樻斁浣嶇疆錛岃鍏朵笉鑳借嚜鍔ㄥ姞杞戒簡錛屼笉榪囪繕鏄湁涓や釜璀﹀憡錛?<br />log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester.sax). <br />log4j:WARN Please initialize the log4j system properly. <br />榪欐牱鍋氬氨綆楁槸鎺╄崇洍閾冧簡錛屽鏋滀綘鏈夋洿濂界殑瑙e喅鍔炴硶錛屽笇鏈涜兘鍦ㄦ璐村嚭鏉ワ紝澶у涓璧風(fēng)爺絀躲?</p> <p>********************log4j.properties***************************** <br />### 璁劇疆logger綰у埆 ### </p> <p>紼嬪簭浠g爜 <br />log4j.rootLogger=DEBUG,stdout,A1 </p> <p>### appender.stdout杈撳嚭鍒版帶鍒跺彴 ### <br />log4j.appender.stdout=org.apache.log4j.ConsoleAppender <br />log4j.appender.stdout.Target=System.out <br />log4j.appender.stdout.layout=org.apache.log4j.PatternLayout <br />log4j.appender.stdout.layout.ConversionPattern= [%5p] [BYSXXGLXT] %d{yyyy-MM-dd HH:mm:ss}: %-4r [%-5p] [%t] ( %F,%L ) - %m%n </p> <p>### appender.A1杈撳嚭鍒版棩蹇楁枃浠?### <br />log4j.appender.A1=org.apache.log4j.DailyRollingFileAppender <br />log4j.appender.A1.File=WEB-INF\\logs\\bysxxglxt.log <br />##娉ㄦ剰涓婇潰鏃ュ織鏂囦歡鐩稿搴旂敤鏍圭洰褰曡礬寰勭殑鍐欐硶 <br />log4j.appender.A1.DatePattern='.'yyyy-MM-dd'.log' <br />log4j.appender.A1.Append=true <br />## 杈撳嚭DEBUG綰у埆浠ヤ笂鐨勬棩蹇?<br />log4j.appender.A1.Threshold=DEBUG <br />log4j.appender.A1.layout=org.apache.log4j.PatternLayout <br />log4j.appender.A1.layout.ConversionPattern= [%5p] [BYSXXGLXT] %d{yyyy-MM-dd HH:mm:ss}: %-4r     [%t] ( %F,%L ) - %m%n <br /></p><img src ="http://www.tkk7.com/hyljava/aggbug/379380.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/hyljava/" target="_blank">浣曚簯闅?/a> 2012-05-28 19:06 <a href="http://www.tkk7.com/hyljava/archive/2012/05/28/379380.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>log4j鐨勭畝鍗曢厤緗?/title><link>http://www.tkk7.com/hyljava/archive/2012/05/28/379378.html</link><dc:creator>浣曚簯闅?/dc:creator><author>浣曚簯闅?/author><pubDate>Mon, 28 May 2012 11:04:00 GMT</pubDate><guid>http://www.tkk7.com/hyljava/archive/2012/05/28/379378.html</guid><wfw:comment>http://www.tkk7.com/hyljava/comments/379378.html</wfw:comment><comments>http://www.tkk7.com/hyljava/archive/2012/05/28/379378.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/hyljava/comments/commentRss/379378.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/hyljava/services/trackbacks/379378.html</trackback:ping><description><![CDATA[<p> 棣栧厛瀵煎叆涓や釜鍖?  commons-logging.jar  log4j-1.2.12.jar</p> <p>   鍦╯rc涓嬬紪鍐?涓?properties鏂囦歡</p> <p>1.log4j.properties 涓嬮潰鏄唴瀹?/p> <p><br />##LOGGERS</p> <p>#define a logger<br />log4j.rootLogger=INFO,console,file</p> <p>##APPENDERS<br />#define an appender named console<br />log4j.appender.console=org.apache.log4j.ConsoleAppender<br />#define an appender named file<br />log4j.appender.file=org.apache.log4j.RollingFileAppender<br />log4j.appender.file.File=d:/demo_log.txt<br />#set the log's size<br />log4j.appender.file.MaxFileSize=1000KB<br />log4j.appender.file.MaxBackupIndex=20</p> <p>##LAYOUTS<br />#assign a SimpleLayout to console appender<br />log4j.appender.console.layout=org.apache.log4j.SimpleLayout<br />#assign a PatternLayout to file appender<br />log4j.appender.file.layout=org.apache.log4j.PatternLayout<br />log4j.appender.file.layout.ConversionPattern=[%-5p][%d{yyyy-MM-dd HH:mm:ss}]%m%n</p> <p> </p> <p>2.<br />    simplelog.properties涓嬮潰鏄唴瀹?/p> <p><br />log.apache.commons.logging.simplelog.defaultlog=info</p> <p>3.<br />    commons-logging.properties涓嬮潰鏄唴瀹?/p> <p>##set Log as Log4J<br />org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger</p> <p> </p> <p> </p><img src ="http://www.tkk7.com/hyljava/aggbug/379378.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/hyljava/" target="_blank">浣曚簯闅?/a> 2012-05-28 19:04 <a href="http://www.tkk7.com/hyljava/archive/2012/05/28/379378.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>log4j鐨勪綔鐢? http://www.tkk7.com/hyljava/archive/2012/05/25/379099.html浣曚簯闅?/dc:creator>浣曚簯闅?/author>Fri, 25 May 2012 01:32:00 GMThttp://www.tkk7.com/hyljava/archive/2012/05/25/379099.htmlhttp://www.tkk7.com/hyljava/comments/379099.htmlhttp://www.tkk7.com/hyljava/archive/2012/05/25/379099.html#Feedback0http://www.tkk7.com/hyljava/comments/commentRss/379099.htmlhttp://www.tkk7.com/hyljava/services/trackbacks/379099.html

log4j鐨勪綔鐢?/font>  

 

涓銆佷粈涔堟槸log4j
Log4j 鏄疉pache鐨勪竴涓紑鏀炬簮浠g爜欏圭洰錛岄氳繃浣跨敤Log4j錛屾垜浠彲浠ユ帶鍒舵棩蹇椾俊鎭緭閫佺殑鐩殑鍦版槸鎺у埗鍙般佹枃浠躲丟UI緇勪歡銆佺敋鑷蟲槸濂楁帴鍙f湇鍔″櫒銆丯T鐨勪簨浠惰褰曞櫒銆乁NIX Syslog瀹堟姢榪涚▼絳夛紱鎴戜滑涔熷彲浠ユ帶鍒舵瘡涓鏉℃棩蹇楃殑杈撳嚭鏍煎紡錛涢氳繃瀹氫箟姣忎竴鏉℃棩蹇椾俊鎭殑綰у埆錛屾垜浠兘澶熸洿鍔犵粏鑷村湴鎺у埗鏃ュ織鐨勭敓鎴愯繃紼嬨傛渶浠や漢鎰熷叴瓚g殑灝辨槸錛岃繖浜涘彲浠ラ氳繃涓涓厤緗枃浠舵潵鐏墊椿鍦拌繘琛岄厤緗紝鑰屼笉闇瑕佷慨鏀瑰簲鐢ㄧ殑浠g爜銆?

浜屻佹棩蹇楃畝浠?br />鏃ュ織鎸囧湪紼嬪簭涓彃鍏ヨ鍙ヤ互鎻愪緵璋冭瘯淇℃伅銆備嬌鐢ㄦ棩蹇楄兘澶熺洃瑙嗙▼搴忕殑鎵ц銆備緥濡傦紝鐢ㄦ埛鍒╃敤鏃ュ織鍙互鑾峰緱鍏充簬搴旂敤紼嬪簭鏁呴殰鐨勫畬鏁翠俊鎭傜敤鎴峰彲浠ュ皢璋冭瘯璇彞錛堝 System.out.println錛夋彃鍏ュ埌紼嬪簭涓互鑾峰緱璇︾粏鐨勮皟璇曚俊鎭?

涓夈侀」鐩腑涓轟粈涔堣鐢╨og4j
澶у鍦ㄧ紪紼嬫椂緇忓父涓嶅彲閬垮厤鍦拌浣跨敤鍒頒竴浜涙棩蹇楁搷浣滐紝姣斿寮鍙戦樁孌電殑璋冭瘯淇℃伅銆佽繍琛屾椂鐨勬棩蹇楄褰曞強瀹¤銆傝皟鏌ユ樉紺猴紝鏃ュ織浠g爜鍗犱唬鐮佹婚噺鐨?錛呫傞氬父澶у鍙互綆鍗曞湴浣跨敤System.out.println()璇彞杈撳嚭鏃ュ織淇℃伅錛屼絾鏄線寰浼氭湁涓浜涘垽鏂紝姣斿錛?
 
if (someCondition)
{
  System.out.println("some information.");
}

榪欎簺鍒ゆ柇閫犳垚姝e父鐨勭▼搴忛昏緫涓販鏉備簡澶ч噺鐨勮緭鍑鴻鍙ャ傝屽湪寮鍙戦樁孌靛啓涓嬬殑榪欎簺鍒ゆ柇浠呬負浜嗚皟璇曠殑璇彞錛屽湪寮鍙戝畬鎴愭椂闇瑕佹煡鎵懼茍縐婚櫎銆傞儴緗茶繍琛屽悗錛屽挨鍏舵槸鍦ㄤ竴浜涗紒涓氬簲鐢ㄧ郴緇熶腑錛岃繕緇忓父闇瑕佽繘涓姝ヨ皟璇曪紝榪欐椂灝遍亣鍒頒簡鏇村ぇ鐨勯夯鐑︺傛墍浠ワ紝鎴戜滑闇瑕佷竴濂楀畬澶囩殑銆佺伒媧葷殑銆佸彲閰嶇疆鐨勬棩蹇楀伐鍏穕og4J灝辨槸浼樼鐨勯夋嫨銆?

鍥涖乴og4j緇勪歡
Log4j 鐢?logger銆乤ppender 鍜?layout 涓変釜緇勪歡緇勬垚銆傚彲浠ラ氳繃鍚屽悕鐨?Java 綾昏闂?Log4j 鐨勮繖涓変釜緇勪歡銆?/font>

Logger - 鍦ㄦ墽琛屽簲鐢ㄧ▼搴忔椂錛屾帴鏀舵棩蹇楄鍙ョ敓鎴愮殑鏃ュ織璇鋒眰銆傚畠鏄竴縐嶉噸瑕佺殑鏃ュ織澶勭悊緇勪歡錛?鍙互閫氳繃 log4j API 鐨?logger 綾誨鍏惰繘琛岃闂傚畠鐨勬柟娉曟湁錛歞ebug銆乮nfo銆亀arn銆乪rror銆乫atal 鍜?log銆傝繖浜涙柟娉曠敤浜庤褰曟秷鎭?
Appender - 綆$悊鏃ュ織璇彞鐨勮緭鍑虹粨鏋溿傛墽琛屾棩蹇楄鍙ユ椂錛孡ogger 瀵硅薄灝嗘帴鏀舵潵鑷棩蹇楄鍙ョ殑璁板綍璇鋒眰銆傛璇鋒眰鏄氳繃 logger 鍙戦佽嚦 appender 鐨勩傜劧鍚庯紝Appender 灝嗚緭鍑虹粨鏋滃啓鍏ュ埌鐢ㄦ埛閫夋嫨鐨勭洰鐨勫湴銆傚浜庝笉鍚岀殑鏃ュ織鐩殑鍦幫紝鎻愪緵涓嶅悓鐨?appender 綾誨瀷銆傝繖浜?appender 鍖呮嫭錛氱敤浜庢枃浠剁殑 file appender銆佺敤浜庢暟鎹簱鐨?JDBC appender 鍜岀敤浜?SMTP 鏈嶅姟鍣ㄧ殑 SMTP appender銆?
Layout - 鐢ㄤ簬鎸囧畾 appender 灝嗘棩蹇楄鍙ュ啓鍏ユ棩蹇楃洰鐨勫湴鎵閲囩敤鐨勬牸寮忋俛ppender 鍙互鐢ㄦ潵鏍煎紡鍖栬緭鍑虹粨鏋滅殑鍚勭甯冨眬鍖呮嫭錛氱畝鍗曞竷灞銆佹ā寮忓竷灞鍜?HTML 甯冨眬銆?/font>



]]>
Hibernate涓敤閫嗚漿宸ョ▼瀹炵幇澶氬澶氬叧緋繪槧灝?/title><link>http://www.tkk7.com/hyljava/archive/2012/05/13/378049.html</link><dc:creator>浣曚簯闅?/dc:creator><author>浣曚簯闅?/author><pubDate>Sun, 13 May 2012 10:04:00 GMT</pubDate><guid>http://www.tkk7.com/hyljava/archive/2012/05/13/378049.html</guid><wfw:comment>http://www.tkk7.com/hyljava/comments/378049.html</wfw:comment><comments>http://www.tkk7.com/hyljava/archive/2012/05/13/378049.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/hyljava/comments/commentRss/378049.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/hyljava/services/trackbacks/378049.html</trackback:ping><description><![CDATA[<img border="0" alt="" src="http://www.tkk7.com/images/blogjava_net/hyljava/閫夎鏁版嵁搴?jpg" width="356" height="479" /><br />history涓殑c_id涓巗_id鍒嗗埆鏄閿?br />鍦╤ibernate涓敤myeclicpse閫嗚漿宸ョ▼瀹炵幇鐨勫瀵瑰<br /><img border="0" alt="" src="http://www.tkk7.com/images/blogjava_net/hyljava/360鎴浘20120513175655823.jpg" width="349" height="482" /><br /><br />灝?nbsp;CourseDAO 涓殑save鏂規(guī)硶 鏀規(guī)垚錛?br /> public void save(Course transientInstance) {<br />  log.debug("saving Course instance");<br />  Session session=null;<br />  Transaction tx=null;<br />  try {<br />   session=getSession();<br />   tx=session.beginTransaction();<br />   <br />   <br />   session.save(transientInstance);<br />   tx.commit();<br />   log.debug("save successful");<br />  } catch (RuntimeException re) {<br />   log.error("save failed", re);<br />   if(tx!=null){<br />    tx.rollback();<br />   }<br />   throw re;<br />  }<br /> }<br />灝?nbsp;Student DAO 涓殑save鏂規(guī)硶 鏀規(guī)垚錛?br /><br />public void save(Student transientInstance) {<br />  log.debug("saving Student instance");<br />  Session session=null;<br />  Transaction tx=null;<br />  try {<br />   session=getSession();<br />   tx=session.beginTransaction();<br />   <br />   session.save(transientInstance);<br />   log.debug("save successful");<br />  } catch (RuntimeException re) {<br />   log.error("save failed", re);<br />   if(tx!=null){<br />    tx.rollback();<br />   }<br />   throw re;<br />  }<br /> }<br />灝?nbsp;HistoryDAO 涓殑save鏂規(guī)硶 鏀規(guī)垚錛?br /><br />public void save(History transientInstance) {<br />  log.debug("saving History instance");<br />  Session session=null;<br />  Transaction tx=null;<br />  try {<br />   session=getSession();<br />   tx=session.beginTransaction();<br />   session.save(transientInstance);<br />   tx.commit();<br />   log.debug("save successful");<br />  } catch (RuntimeException re) {<br />   log.error("save failed", re);<br />   if(tx!=null){<br />    tx.rollback();<br />   }<br />   throw re;<br />  }<br /> }<br />嫻嬭瘯綾誨涓嬶細<br /> <p>public class Test {</p> <p>public static void main(String[] args) {<br />    Course course=new Course();<br />    CourseDAO cdao=new CourseDAO();<br />  <br />  Student stu=new Student();<br />  StudentDAO sdao=new StudentDAO();<br />    <br />  History his=new History();<br />  HistoryId hid=new HistoryId();<br />  HistoryDAO hdao=new HistoryDAO();<br />  <br />  <br />    course.setCName("c++");<br />    course.setCTer("寮犱笁");<br />  <br />  stu.setSName("寮犲悓瀛?);<br />  stu.setSAge(22);<br />  <br />  hid.setCourse(course);<br />  hid.setStudent(stu);<br />   <br />   his.setId(hid);<br />      cdao.save(course);<br />   sdao.save(stu);<br />   hdao.save(his);<br />  }</p> <p>}<br /></p><br /> <img src ="http://www.tkk7.com/hyljava/aggbug/378049.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/hyljava/" target="_blank">浣曚簯闅?/a> 2012-05-13 18:04 <a href="http://www.tkk7.com/hyljava/archive/2012/05/13/378049.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> 主站蜘蛛池模板: <a href="http://yanyingqiang.com" target="_blank">亚洲精品成人图区</a>| <a href="http://txa6.com" target="_blank">国内精品乱码卡1卡2卡3免费</a>| <a href="http://www6yg6yg.com" target="_blank">亚洲精品第一综合99久久</a>| <a href="http://f2dai.com" target="_blank">亚洲乱色熟女一区二区三区丝袜</a>| <a href="http://240842.com" target="_blank">在线精品免费视频无码的</a>| <a href="http://2499m.com" target="_blank">蜜臀AV免费一区二区三区</a>| <a href="http://fense1.com " target="_blank">中文字幕在线视频免费观看 </a>| <a href="http://513573.com" target="_blank">91精品免费在线观看</a>| <a href="http://bomilon.com" target="_blank">91在线免费观看</a>| <a href="http://472849.com" target="_blank">香蕉97碰碰视频免费</a>| <a href="http://misiranim.com" target="_blank">亚洲欧美一区二区三区日产</a>| <a href="http://8833081.com" target="_blank">亚洲视频在线免费看</a>| <a href="http://wua72.com" target="_blank">久久精品国产亚洲av成人</a>| <a href="http://www-474749.com" target="_blank">久久精品国产亚洲AV不卡</a>| <a href="http://qqcnm.com" target="_blank">四虎在线播放免费永久视频</a>| <a href="http://www676617.com" target="_blank">女人18毛片水真多免费看</a>| <a href="http://xx9911.com" target="_blank">91网站免费观看</a>| <a href="http://xxyy66.com" target="_blank">97碰公开在线观看免费视频</a>| <a href="http://sshc5.com" target="_blank">最近免费中文字幕大全高清大全1 最近免费中文字幕mv在线电影 </a>| <a href="http://lianghao999.com" target="_blank">久久久国产精品亚洲一区</a>| <a href="http://wwwxue1888.com" target="_blank">自拍偷自拍亚洲精品情侣</a>| <a href="http://youkabaitiao.com" target="_blank">亚洲Av无码乱码在线观看性色</a>| <a href="http://caoporg.com" target="_blank">在线观着免费观看国产黄</a>| <a href="http://tltcn.com" target="_blank">青草草在线视频永久免费</a>| <a href="http://79909d.com" target="_blank">在线免费观看一级片</a>| <a href="http://50077995.com" target="_blank">影音先锋在线免费观看</a>| <a href="http://wwwby1385.com" target="_blank">97在线观免费视频观看</a>| <a href="http://179228.com" target="_blank">国产人在线成免费视频</a>| <a href="http://ipx588.com" target="_blank">91在线品视觉盛宴免费</a>| <a href="http://96j6.com" target="_blank">免费H网站在线观看的</a>| <a href="http://haidiaori.com" target="_blank">亚洲免费福利在线视频</a>| <a href="http://nnlxl.com" target="_blank">青青草a免费线观a</a>| <a href="http://szhszszy.com" target="_blank">无码国产精品一区二区免费</a>| <a href="http://nyminer.com" target="_blank">成年人网站免费视频</a>| <a href="http://leeszewan.com" target="_blank">免费毛片a在线观看67194</a>| <a href="http://dddd20.com" target="_blank">久久精品无码一区二区三区免费 </a>| <a href="http://www19977.com" target="_blank">亚洲日本中文字幕区</a>| <a href="http://5gg1.com" target="_blank">久久久无码精品亚洲日韩京东传媒</a>| <a href="http://scienfood.com" target="_blank">亚洲伦理一区二区</a>| <a href="http://kj555888.com" target="_blank">亚洲第一页在线观看</a>| <a href="http://fsszx888.com" target="_blank">亚洲乱码中文字幕小综合</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>