阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Spring3+Hibernate4连接Oracle 11g数据库参数配置

160次阅读
没有评论

共计 4708 个字符,预计需要花费 12 分钟才能阅读完成。

应用场合:使用 SSH 框架开发一套应用系统,因为不同的 SSH 版本 + 系统架构会导致各种的错误,总结测试了下,成功测试得出本文配置

软件版本:Sping3+Hibernate4+Maven3

主要配置文件内容如下:

1、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>
       <!– 指定数据库所用到的驱动 –>
       <property name=”connection.driver_class”>Oracle.jdbc.driver.OracleDriver</property>
       <!– 指定数据库链接的 url,hibernate 链接的数据库名 –>
       <property name=”connection.url”>jdbc:oracle:thin:@192.168.1.250:1521:orcl</property>
       <!– 指定连接数据库的用户名 –>
       <property name=”connection.username”> 你的数据库访问用户名 </property>
       <!– 指定连接数据库的用户口令 –>
       <property name=”connection.password”> 你的数据库访问密码 </property>     
 <!– 指定连接池里的最大连接数 –>     
 <property name=”hibernate.c3p0.maxsize”>20</property>     
 <!– 指定连接池里最小连接数 –>     
 <property name=”hibernate.cp30.minsize”>1</property>     
 <!– 指定连接池里的超时时常 –>     
 <property name=”hibernate.cp30.timeout”>5000</property>     
 <!– 指定连接池里最大缓存多少个 Statement 对象 –>     
 <property name=”hibernate.cp30.max_statements”>100</property>     
 <property name=”hibernate.cp30.idle_test_period”>3000</property>     
 <property name=”hibernate.cp30.acquire_increment”>2</property>     
 <property name=”hibernate.cp30.validate”>true</property>     
 <!– 指定数据库方言 –>     
 <property name=”dialect”>org.hibernate.dialect.Oracle10gDialect</property>     
 <!– 根据需要自动创建数据库表 –>     
 <property name=”hbm2ddl.auto”>update</property>     
 <property name=”show_sql”>true</property> 
  </session-factory> 
</hibernate-configuration>

 

2、spring-common.xml 文件内容如下

 

<?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-3.2.xsd
      http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
      http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
      http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd”>

    <!– 启用 spring 注解支持 –>
    <context:annotation-config/>

    <!– 读取数据库的 properties 文件 –>
    <bean id=”propertyConfigurer” class=”org.springframework.beans.factory.config.PropertyPlaceholderConfigurer”>
        <property name=”location” value=”classpath:config/db.properties”/>
    </bean>

    <!– 配数据源 –>
    <bean id=”dataSource” class=”org.apache.commons.dbcp.BasicDataSource” destroy-method=”close”>
        <property name=”driverClassName” value=”oracle.jdbc.driver.OracleDriver” />
        <property name=”url” value=”jdbc:oracle:thin:@192.168.1.250:1521:orcl” />
        <property name=”username” value=” 您的数据库用户 ” />
        <property name=”password” value=” 您的数据库密码 ” />
    </bean>

    <!– 配置 Hibernate4 的 SessionFactory–>
    <bean id=”sessionFactory” class=”org.springframework.orm.hibernate4.LocalSessionFactoryBean”>
        <property name=”dataSource” ref=”dataSource” />
        <property name=”hibernateProperties”>
            <props>
                <prop key=”hibernate.dialect”>org.hibernate.dialect.Oracle10gDialect</prop>
                <prop key=”hibernate.show_sql”>true</prop>
                <prop key=”hibernate.format_sql”>true</prop>
                <prop key=”hibernate.hbm2ddl.auto”>update</prop>
            </props>
        </property>

        <!– 配置扫描注解实体的包 –>
        <property name=”packagesToScan” value=”com.mycom.*.entity”>
        </property>

    </bean>

    <!– 配置事务管理器 –>
    <bean id=”transactionManager”  class=”org.springframework.orm.hibernate4.HibernateTransactionManager”>
        <property name=”sessionFactory” ref=”sessionFactory”/>
    </bean>

    <!– 配置哪些类哪些方法使用哪种事务传播特性 –>
    <tx:advice id=”txadvice” transaction-manager=”transactionManager”>
        <tx:attributes>
            <tx:method name=”add*” propagation=”REQUIRED”/>
            <tx:method name=”save*” propagation=”REQUIRED”/>
            <tx:method name=”del*” propagation=”REQUIRED”/>
            <tx:method name=”modify*” propagation=”REQUIRED”/>
            <tx:method name=”update*” propagation=”REQUIRED”/>
            <!–hibernate4 必须配置为开启事务 否则 getCurrentSession() 获取不到 –>
            <tx:method name=”*” propagation=”REQUIRED” read-only=”true”/>
        </tx:attributes>
    </tx:advice>

    <!– 配置 Aop 的切入位置 –>
    <aop:config>
        <!– 对业务逻辑层实施事务 –>
        <aop:pointcut id=”ServiceMethod”
                      expression=”execution(* com.mycom.*.service.*.*(..))”/>
        <aop:advisor pointcut-ref=”ServiceMethod” advice-ref=”txadvice”/>
    </aop:config>

    <!– 配置根据注解,自动注入 Log 对象 –>
    <bean id=”logBeanPocessor” class=”com.mycom.basic.annotation.LogBeanPostProcessor” lazy-init=”false” />

</beans>

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-10/147680.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计4708字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中