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

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

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

    Ordinary hut

    人間一福地,勝似天仙宮
    posts - 61, comments - 50, trackbacks - 0, articles - 1
    1 普通jdbc方式,基本代碼如下
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi
    ="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:aop
    ="http://www.springframework.org/schema/aop"
        xmlns:context
    ="http://www.springframework.org/schema/context"
        xmlns:tx
    ="http://www.springframework.org/schema/tx"
        xsi:schemaLocation
    ="
           http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd"
    >
        
    <context:annotation-config/>
        
        
    <context:component-scan base-package="com.huaxia.oaapp">
            
    <context:include-filter type="aspectj" expression="com.huaxia.oaapp.service..*"/>
            
    <context:include-filter type="aspectj" expression="com.huaxia.oaapp.entity..*"/>
            
    <context:exclude-filter type="aspectj" expression="com.huaxia.oaapp.action..*"/>
        
    </context:component-scan>
        
    <context:property-placeholder location="classpath:jdbc.properties" />
        
    <bean id="dataSource" 
            class
    ="org.apache.commons.dbcp.BasicDataSource"
            destroy-method
    ="close">
            
    <property name="driverClassName" value="${jdbc.driverClassName}" />
            
    <property name="url" value="${jdbc.url}" />
            
    <property name="username" value="${jdbc.username}" />
            
    <property name="password" value="${jdbc.password}" />
        
    </bean>
        
        
    <bean id="sessionFactory"
            class
    ="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
            
    <property name="dataSource">
                
    <ref bean="dataSource" />
            
    </property>
            
    <property name="hibernateProperties">
                
    <props>
                    
    <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
                    
    <prop key="hibernate.show_sql">true</prop>
                    
    <prop key="hiberante.format_sql">true</prop>
                
    </props>
            
    </property>
            
    <property name="annotatedClasses">
                
    <list>
                    
    <value>com.huaxia.oaapp.entity.User</value>
                
    </list>
            
    </property>
            
    <property name="annotatedPackages">
                
    <list>
                    
    <value>com.huaxia.oaapp.entity</value>
                
    </list>
            
    </property>
        
    </bean>

        
    <bean id="transactionManager"
            class
    ="org.springframework.orm.hibernate3.HibernateTransactionManager">
            
    <property name="sessionFactory" ref="sessionFactory" />
        
    </bean>
        
    <aop:config>
            
    <aop:pointcut id="baseServiceMethods"
                expression
    ="execution(* com.huaxia.oaapp.service.*.*(..)),execution(* com.huaxia.oaapp.aop.*.*(..))" />
            
    <aop:advisor advice-ref="txAdvice"
                pointcut-ref
    ="baseServiceMethods" />
        
    </aop:config>
        
    <aop:aspectj-autoproxy />
        
    <tx:advice id="txAdvice" transaction-manager="transactionManager">
            
    <tx:attributes>
                
    <tx:method name="select*" read-only="true" propagation="REQUIRED"/>
                
    <tx:method name="find*" read-only="true"  propagation="REQUIRED"/>
                
    <tx:method name="save*"  propagation="REQUIRED" isolation="REPEATABLE_READ"/>
                
    <tx:method name="update*"  propagation="REQUIRED" isolation="REPEATABLE_READ"/>
                
    <tx:method name="add*"  propagation="REQUIRED" isolation="REPEATABLE_READ" />
                
    <tx:method name="delete*"  propagation="REQUIRED" isolation="REPEATABLE_READ"/>
            
    </tx:attributes>
        
    </tx:advice>
    </beans>
    上面hibernateProperties還可以這么配置,效果是一樣的
            <property name="hibernateProperties">
                
    <value>
                    hibernate.dialect=org.hibernate.dialect.SQLServerDialect
                    hibernate.show_sql=true
                    hiberante.format_sql=true
                
    </value>
            
    </property>

    還可以直接把配置信息放到hibernate.cfg.xml中,代碼如下
        <bean id="sessionFactory"
            class
    ="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
            
    <property name="configLocations">
                
    <list>
                    
    <value>classpath:hibernate.cfg.xml</value>
                
    </list>
            
    </property> 
        
    </bean>
    hibernate.cfg.xml代碼如下
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
            "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
            "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
    >
    <hibernate-configuration>
        
    <session-factory name="sessionFactory">
            
    <property name="hibernate.connection.driver_class">
                com.microsoft.sqlserver.jdbc.SQLServerDriver
            
    </property>
            
    <property name="hibernate.connection.password">123456</property>
            
    <property name="hibernate.connection.url">
                jdbc:sqlserver://localhost:1433; DatabaseName=oadb
            
    </property>
            
    <property name="hibernate.connection.username">sa</property>
            
    <property name="hibernate.dialect">
                org.hibernate.dialect.SQLServerDialect
            
    </property>
            
    <property name="hibernate.show_sql">true</property>
            
    <property name="hiberante.format_sql">true</property>
            
    <property name="hibernate.cache.provider_class">
                org.hibernate.cache.EhCacheProvider
            
    </property>
            
            
    <property name="hibernate.connection.autocommit">false</property>
            
    <mapping class="com.huaxia.oaapp.entity.User" />
        
    </session-factory>
    </hibernate-configuration>

    2 配置proxool連接池
    第一種:spring中配置proxool非常簡單,代碼如下
    <bean id="sessionFactory"
            class
    ="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
            
    <property name="hibernateProperties">
                
    <props>
                    
    <prop key="hibernate.dialect">
                        org.hibernate.dialect.SQLServerDialect
                    
    </prop>
                    
    <prop key="hibernate.show_sql">true</prop>
                    
    <prop key="hiberante.format_sql">true</prop>
                    
    <prop key="hibernate.proxool.pool_alias">myDataSource</prop>
                    
    <prop key="hibernate.proxool.xml">Proxool.xml</prop>
                
    </props>
            
    </property>
            
        
    </bean>
    其中Proxool.xml在根目錄下,大致內(nèi)容如下
    <something-else-entirely>
      
    <proxool>
        
    <alias>myDataSource</alias>
        
    <driver-url>
            jdbc:sqlserver://localhost:1433; DatabaseName=test
           
    </driver-url>
        
    <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
        
    <driver-properties>
          
    <property name="user" value="sa"/>
          
    <property name="password" value="123456"/>
        
    </driver-properties>
        
    <house-keeping-sleep-time>1000</house-keeping-sleep-time> 
        
    <maximum-connection-count>2</maximum-connection-count>
        
    <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
      
    </proxool>
    </something-else-entirely>
    第二種:上面是嵌入了proxool.xml文件,其實也可以直接嵌入proxool屬性,這樣就不用再建立Proxool.xml文件了,代碼如下
        <bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource" destroy-method="close">
            
    <property name="alias" value="test"></property>
            
    <property name="delegateProperties">
                
    <value>user=${jdbc.username},password=${jdbc.password}</value>
            
    </property>
            
    <property name="user" value="${jdbc.username}"/>
            
    <property name="password" value="${jdbc.password}"/>
            
    <property name="driver" value="${jdbc.driverClassName}"/>
            
    <property name="driverUrl" value="${jdbc.url}"/>
        
    </bean>
        
    <bean id="sessionFactory"
            class
    ="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
            
    <property name="dataSource">
                
    <ref bean="dataSource" />
            
    </property>
            
    <property name="hibernateProperties">
                
    <props>
                    
    <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
                    
    <prop key="hibernate.show_sql">true</prop>
                    
    <prop key="hiberante.format_sql">true</prop>
                
    </props>
            
    </property>
            
        
    </bean>
    此處說明一下:屬性中的user和password不起任何作用,需要用delegateProperties方式寫一下,否則會報錯誤,如下
        org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user ''. The user is not associated with a trusted SQL Server connection.
    但是user和password還不能被去掉。

    除了上面的用delegateProperties之外,還可以將用戶名和密碼直接寫在url后面。

    proxool屬性的說明,在這里寫的比較詳細
    http://www.cnblogs.com/wllyy189/archive/2008/10/15/1311560.html

    第三種:在hibernate.cfg.xml中配置proxool連接池,代碼如下
    applicationContext.xml文件大致配置如下:
        <bean id="sessionFactory"
            class
    ="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

            
    <property name="configLocations">
                
    <list>
                    
    <value>classpath:hibernate.cfg.xml</value>
                
    </list>
            
    </property>
        
    </bean>
    hibernate.cfg.xml的配置如下:
    <hibernate-configuration>
         
    <session-factory name="sessionFactory">
            
    <property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
            
    <property name="show_sql">true</property>
            
    <property name="connection.provider_class">org.hibernate.connection.ProxoolConnectionProvider</property>
            
    <property name="proxool.pool_alias">myDataSource</property>
            
    <property name="proxool.xml">Proxool.xml</property>
            
    <property name="connection.autocommit">=true </property>
            
    <property name="jdbc.batch_size">20</property>
            
    <property name="default_schema">dbo</property>
            
    <mapping class="com.huaxia.oaapp.entity.User" />
            
    <mapping class="com.huaxia.oaapp.entity.Document" />
            
    <mapping class="com.huaxia.oaapp.entity.Certificate" />
        
    </session-factory>
    </hibernate-configuration>   
    其中Proxool.xml就是要加入的proxool連接池的配置文件
    主站蜘蛛池模板: 亚洲成av人片天堂网| 中文字幕乱码系列免费| 亚洲av女电影网| 免费大片黄手机在线观看| 在线视频免费观看爽爽爽| 免费成人高清在线视频| 九九综合VA免费看| 亚洲精品无码久久久久A片苍井空 亚洲精品无码久久久久YW | 国产午夜无码精品免费看 | 男人的好看免费观看在线视频| 丝袜捆绑调教视频免费区| 国产精品亚洲专区在线播放| 日本亚洲免费无线码 | 91大神免费观看| 你懂的网址免费国产| 国产裸体美女永久免费无遮挡| 久久久亚洲精华液精华液精华液| 亚洲五月丁香综合视频| 亚洲视频一区在线| 久久亚洲中文字幕精品有坂深雪 | 亚洲国产av玩弄放荡人妇| 亚洲制服在线观看| 亚洲精品网站在线观看你懂的| 亚洲人成亚洲人成在线观看 | 中文字幕免费在线看| 亚洲精品视频免费| 一级人做人爰a全过程免费视频| 国产精品亚洲综合一区在线观看 | 成人爽A毛片免费看| 成人无码区免费视频观看| 国产成人免费爽爽爽视频| 大地资源二在线观看免费高清 | 亚洲精品成人网站在线播放| 无码乱人伦一区二区亚洲| 亚洲AV无码一区东京热| 亚洲国产精品VA在线观看麻豆| 国产精品亚洲а∨无码播放| 亚洲国产精品VA在线观看麻豆 | 亚洲免费福利视频| av免费不卡国产观看| 一本岛高清v不卡免费一三区|