`
vicky_luo
  • 浏览: 19399 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

SSH框架三种数据源的配置

 
阅读更多
applicationContext.xml 中数据源有三种配置方式:
一:原始方式
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<!-- 指定数据库驱动-->
<property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
<!-- 指定连接数据库的URL-->
<property name="url"><value>jdbc:mysql://wonder:3306/j2ee</value></property>
<!-- root为数据库的用户名-->
<property name="username"><value>root</value></property>
<!-- pass为数据库密码-->
<property name="password"><value>pass</value></property>
</bean>
二:ComboPooledDataSource注:需导入c3p0-0.9.0.2.jar
<bean id="dataSource"
      class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="jdbcUrl">
<value>jdbc:oracle:thin:@192.168.20.200:1521:et361</value>
</property>
<property name="user"><value>test</value></property>
<property name="password"><value>123456</value></property>  
        <property name="minPoolSize"><value>20</value></property>  
        <property name="maxPoolSize"><value>100</value></property>  
        <property name="initialPoolSize"><value>10</value></property>  
        <property name="maxIdleTime"><value>60</value></property>  
        <property name="acquireIncrement"><value>10</value></property>
<property name="maxStatements"><value>0</value></property>  
        <property name="idleConnectionTestPeriod"><value>60</value></property>  
        <property name="acquireRetryAttempts"><value>30</value></property>
<property name="breakAfterAcquireFailure"><value>true</value></property>
<property name="testConnectionOnCheckout"><value>false</value></property>
</bean>
三:DruidDataSource注:需导入druid-0.2.23.jar
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
     init-method="init" destroy-method="close">
<property name="url"              value="jdbc:oracle:thin:@192.168.20.200:1521:et361" />
<property name="username" value="NEWET361" />  
<property name="filters" value="config,stat" />
        <property name="password" value="123456" /> 
  <property name="initialSize" value="1" />
        <property name="minIdle" value="1" /> 
        <property name="maxActive" value="20" /> 
        <property name="maxWait" value="60000" />
        <property name="timeBetweenEvictionRunsMillis" value="60000" />  
        <property name="minEvictableIdleTimeMillis" value="300000" />  
        <property name="validationQuery" value="SELECT 'x'" /> 
        <property name="testWhileIdle" value="true" /> 
        <property name="testOnBorrow" value="false" /> 
        <property name="testOnReturn" value="false" />
        <property name="poolPreparedStatements" value="true" />    
        <property name="maxPoolPreparedStatementPerConnectionSize" value="20" />      
          
</bean>

以下就是一些常见的配置:
<!-- sessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="mappingResources">
<list>
<!-- 存放 POJO配置文件  -->
<value>com/omhy/common/model/entity/Flights.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.hbm2ddl.auto">false</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle9iDialect</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.query.substitutions">true 1, false 0, yes 'Y', no 'N'</prop>
<prop key="hibernate.bytecode.use_reflection_optimizer">true</prop>
<prop key="hibernate.cache.provider_class">
org.hibernate.cache.EhCacheProvider</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.cache.use_structured_entries">false</prop>
<prop key="hibernate.max_fetch_depth">0</prop>
<prop key="hibernate.jdbc.fetch_size">50</prop>
<prop key="hibernate.jdbc.batch_size">20</prop>
</props>
</property>
<property name="dataSource"> <ref bean="dataSource" /></property>
</bean>
<bean id="jdbcExceptionTranslator" class="org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator">
<property name="dataSource"><ref bean="dataSource" /></property>
</bean>
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory"><ref bean="sessionFactory" /></property>
<property name="jdbcExceptionTranslator">
             <ref bean="jdbcExceptionTranslator" />
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
     <ref local="sessionFactory" />
</property>
</bean>
<!-- 事务配置 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="get*" read-only="true" />
<tx:method name="query*" read-only="true" />
<tx:method name="search*" read-only="true" />
<tx:method name="save*" propagation="REQUIRED"
rollback-for="Exception" />
<tx:method name="update*" propagation="REQUIRED"
rollback-for="Exception" />
<tx:method name="delete*" propagation="REQUIRED"
rollback-for="Exception" />
<tx:method name="create*" propagation="REQUIRED"
rollback-for="Exception" />
<tx:method name="do*" propagation="REQUIRED" rollback-for="Exception" />
<tx:method name="distribute*" propagation="REQUIRED"
rollback-for="Exception" />
</tx:attributes>
</tx:advice>
<!-- end 事务配置 -->
<!-- 切面配置 -->
<aop:config>
<aop:pointcut id="etAop" expression="execution(* com.omhy.*.model.service.*.*(..)) or execution(* com.omhy.*.model.dao.*.*(..)) " />
     <aop:advisor advice-ref="txAdvice" pointcut-ref="etAop" />
</aop:config>
<aop:config proxy-target-class="true">
<aop:pointcut id="etAction" expression="execution(* com.omhy.*.action.*.*(..)) and !execution(* com.omhy.*.action.*.validate*(..)) and !execution(* com.omhy.*.action.*.*dwr(..))" />
     <aop:advisor advice-ref="actionAdvice" pointcut-ref="etAction" />
</aop:config>
<!-- end 切面配置 -->
<!-- 通知配置 -->
<bean id="actionAdvice" class="com.omhy.advice.ActionAdvice" scope="request"></bean>


<!-- 各application成员配置  -->
<import resource="application-test.xml"/>
分享到:
评论

相关推荐

    ssh框架有关数据源的配置

    关于ssh框架有关数据源的配置的详细资料哦,不下别后悔啊!

    SSH配置多个数据源

    总结来说,配置SSH框架以支持多个数据源需要对Spring的bean管理、Hibernate的数据库连接以及Struts2的请求处理有深入理解。这个过程包括定义和配置多个DataSource bean,调整Hibernate和Struts2的配置以适应不同的...

    SSH框架与SSI框架的区别-配置说明

    SSH 框架使用 Spring 框架作为其基础架构,其配置文件主要包含了三个部分:Bean 配置、数据源配置和事务管理配置。 从上面的配置文件可以看到,SSH 框架使用了 Spring 框架的配置文件格式,即使用 XML 文件来定义 ...

    SSH框架搭建源码

    3. **Spring配置**:applicationContext.xml文件中定义了Bean的配置,包括Service、DAO、实体类等,以及数据源和事务管理的配置。 4. **Hibernate配置**:hibernate.cfg.xml文件包含了数据库连接信息,实体类的映射...

    idea配置ssh框架

    - 在`src`目录下创建`applicationContext.xml`文件,并配置Spring Bean,例如添加数据源和SessionFactory Bean: ```xml &lt;prop key="hibernate.dialect"&gt;org.hibernate.dialect.MySQL5Dialect...

    SSH动态切换数据源

    SSH动态切换数据源是一种在Java Web开发中处理多数据库连接切换的技术,主要应用于Spring、Struts和Hibernate(SSH)这三大框架集成的项目。SSH框架是企业级应用开发的常用组合,提供了强大的业务逻辑处理和数据持久...

    SSH框架项目源代码

    在这个"SSH框架项目源代码"中,你可以看到如何将这三个框架整合到一个空项目中,从而理解它们的交互方式。通过学习这些源代码,你可以深入理解SSH框架的实现原理,以及如何在实际项目中进行应用。对于初学者来说,这...

    SSH框架源代码

    - Spring的`applicationContext.xml`也需要相应地更新数据源配置,以便Spring容器能够管理数据库连接。 6. **学习与交流**: - 通过阅读和理解这个简单的SSH框架源代码,你可以了解到如何整合这三个框架,以及...

    ssh框架源代码

    在压缩包中,文件名为"ssh框架"可能包含的是整个项目的源代码,包括Struts2的Action类、Spring的配置文件(如applicationContext.xml)、Hibernate的实体类和映射文件(hbm.xml),以及可能的DAO(数据访问对象)和...

    SSH框架数据添加

    在“SSH框架数据添加”中,我们主要关注的是如何通过SSH框架向数据库中插入新的数据。 首先,Struts2作为控制器,负责接收用户请求并转发到相应的业务逻辑层。在数据添加的场景下,通常会有一个Action类,该类包含...

    ssh框架使用源代码

    本资料提供了SSH框架的使用源代码,旨在帮助开发者理解并熟练掌握SSH框架的实践应用。 1. **Struts2**:Struts2是基于MVC设计模式的Web应用框架,它继承了Struts1的优点,并引入了拦截器(Interceptor)机制,使得...

    针对SSH框架Spring管理Hibernate连接多个数据源配置文件

    该配置文件连接的是两个数据库结构相同的数据源,其他比如数据库结构不原理也可行。本人在遇到此问题时上网搜了很多答案结果都不怎么如意,有的太深奥不过思想很好,有的又太不给力,后来自己慢慢研究配置成功后想与...

    ssh框架的源代码

    SSH框架,全称为Spring、Struts和Hibernate的组合,是中国Java Web开发中广泛使用的三大开源框架。这个框架的集成使得开发者能够轻松地处理MVC(Model-View-Controller)架构中的各个部分,提供了一种高效且灵活的...

    ssh框架配置文件的实例

    例如,你可以在这里声明数据源、事务管理器、DAO(数据访问对象)和Service层的bean,通过Spring的IoC(控制反转)容器来管理这些对象的生命周期。 4. **struts.xml**:Struts2框架的配置文件,它定义了应用的...

    SSH框架整合jar包

    SSH框架整合是Java Web开发中常见的一种技术栈组合,它由Spring、Struts2和Hibernate三个框架构成。这个"SSH框架整合jar包"是开发者为了方便项目构建,避免手动逐个添加和配置这三个框架所需的库文件而制作的集合。...

    基于SSH框架的员工管理系统

    这个框架集合了三种技术的优势,为开发人员提供了高效、灵活的后端开发环境,特别适用于构建企业级应用,如员工管理系统。 1. **Struts2**:Struts2作为表现层框架,负责处理HTTP请求,执行业务逻辑,并将结果返回...

    ssh三大框架通用配置

    配置包括数据源、事务管理器、DAO和Service的bean定义等。 **Struts框架** Struts作为MVC(Model-View-Controller)框架,处理HTTP请求并控制应用流程。在通用配置中,我们主要关注`struts-config.xml`或`struts2-...

    Java SSH 框架整合,学习源码

    下面将详细介绍SSH框架整合的相关知识点。 1. **Spring框架**:Spring是一个全面的后端应用程序框架,它提供了依赖注入(DI)和面向切面编程(AOP)等功能。在SSH整合中,Spring主要作为应用的核心,负责管理其他...

    SSH 框架集成连接Oracle数据库的配置

    SSH框架集成连接Oracle数据库的配置是一项常见的开发任务,主要涉及Spring、Struts2和Hibernate这三个流行Java开源框架的协同工作。下面将详细讲解这个过程。 首先,SSH框架是Java Web开发中的三大神器,它们分别是...

Global site tag (gtag.js) - Google Analytics