<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-9  評論-168  文章-266  trackbacks-0

            題外話:之從有了框架后,后臺的一切開發都變的不那么復雜了,應該說成是簡單了.對于數據訪問的開發,都是趨于接口的編程.記住,接口編程!

      (一)數據訪問層開發:            (importorg.springframework.orm.hibernate3.support.HibernateDaoSupport;)
            (1) 創建數據訪問層接口.
            (2) 創建 public class 數據訪問層實現類 extends HibernateDaoSupport implements 數據訪問層接口.
                 在實現類的方法(throw DataAccessException)中封裝 getHibernateTemplate().save(user) 等Spring已封裝的持久化方法.(注:如果使用Hibernate API 要用try{}catch{}自行處理導常.)

             *************************************

       (二)業務邏輯層開發:
             (1)創建業務邏輯層接口.
             (2)創建 public class 業務邏輯層實現類 implements 業務邏輯層接口.
                 在實現類中. 引用的數據訪問層對象實例采用DI的設值方式注入
                                       在業務邏輯方法(throw DataAccessException)中,使用數據訪問層對象實例來訪問數據庫. 
                *************************************

        (三) Spring 配置文件
               (1)配置數據源          <bean id="dataSource" ...>
               (2)配置會話工廠     <bean id="sessionFactory" ...>
               (3)配置事務管理器  <bean id="transactionManager" ...>
               (4)配置事務代理      m.tkk7.com/algz/articles/163236.html
    例:
       <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
     
    <beans>
         
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
               
    <property name="driverClassName">
                     
    <value>com.mysql.jdbc.Driver</value>
              
    </property>
              
    <property name="url">
                    
    <value>jdbc:mysql://localhost/test</value>
               </property>
              
    <property name="username">
                    
    <value>用戶名</value>            <!-- <value />設置的值,自動轉換為字符串,不用加引號.如:"用戶名" X  -->
               
    </property>
               
    <property name="password">
                     
    <value>密碼</value>
                
    </property>
            
    </bean>
     
     
    <!-- 配置sessionFactory  -->
      
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
            
    <property name="dataSource">   <!-- 數據源 -->
                   <ref local="dataSource" />
             
    </property>
            
    <property name="mappingResources">    <!-- ORM映射文件 -->
                  
    <list>
                       
    <value>com/test/Hibernate/User.hbm.xml</value>
                  
    </list>
             
    </property>
             
    <property name="hibernateProperties">    <!-- Hibernate 屬性 -->
                   
    <props>
                         
    <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                         
    <prop key="hibernate.show_sql">true</prop>        <!--控制臺顯示-->
                     </props>
              
    </property>
         
    </bean>

             <!-- 配置事務管理器  -->
             <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
                   <property name="sessionFactory">
                        <ref local="sessionFactory" />
                   </property>
             </bean>
     
             <bean id="userDAO" class="com.test.數據訪問層實現類">
                   <property name="sessionFactory">
                         <ref local="sessionFactory" />
                   </property>
             </bean>
     
             <!-- 聲明式事務代理其中方法一  -->
             <bean id="userDAOProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
                   <property name="transactionManager">
                         <ref bean="transactionManager" />
                   </property>
                   <property name="target">
                         <ref local="userDAO" />
                   </property>
                   <property name="transactionAttributes">
                         <props>
                               <prop key="insert*">PROPAGATION_REQUIRED</prop>
                               <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
                               <prop key="is*">PROPAGATION_REQUIRED,readOnly</prop>
                         </props>
                     </property>
               </bean>
     
              <bean name="/login" class="業務層實現類" singleton="false">
                    <property name="userDAO">
                          <ref bean="userDAOProxy" />
                    </property>
              </bean>
        </beans>
    posted on 2008-03-18 17:39 紫蝶∏飛揚↗ 閱讀(925) 評論(0)  編輯  收藏 所屬分類: Spring
    主站蜘蛛池模板: 性色av极品无码专区亚洲| 在线亚洲午夜片AV大片| 最近免费中文字幕中文高清| 亚洲成A人片在线观看无码3D| 中国毛片免费观看| 精品久久久久久久免费加勒比| 免费在线一级毛片| 男女猛烈xx00免费视频试看| 免费在线观看亚洲| 亚洲欧美在线x视频| 亚洲 自拍 另类小说综合图区| 亚洲视频在线一区| 91香蕉国产线在线观看免费| 亚洲中文字幕人成乱码| 成年人视频在线观看免费| 日本视频免费高清一本18| 久久青草亚洲AV无码麻豆| 在线看片韩国免费人成视频| 2017亚洲男人天堂一| 成人a免费α片在线视频网站| 亚洲精品成人片在线播放| 中文字幕无码一区二区免费| 亚洲av成人无码久久精品 | 亚洲国产一成久久精品国产成人综合| 亚洲宅男天堂在线观看无病毒| 激情亚洲一区国产精品| 欧美a级在线现免费观看| 国内成人精品亚洲日本语音| 亚洲中久无码不卡永久在线观看| 亚洲日本在线电影| 97在线视频免费| 亚洲1区1区3区4区产品乱码芒果| a级大片免费观看| 亚洲综合色区中文字幕| 尤物永久免费AV无码网站| 久久er国产精品免费观看8| 久久久久亚洲AV无码专区首JN| 亚洲中文字幕无码久久2020| 国产无遮挡色视频免费视频| 在线观看片免费人成视频播放| 亚洲精品视频免费观看|