应用场合:使用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>

Spring3+Hibernate4连接Oracle11g数据库参数配置的更多相关文章

  1. DBeaver连接Oracle11g数据库

    DBeaver连接Oracle11g数据库 一.准备 (1)dbeaver管理软件 (2)远程连接数据库地址.用户名秘密等 (3)Oracle驱动:ojdbc6.jar工具包 下载地址:https:/ ...

  2. PL/SQL Developer 连接Oracle数据库详细配置方法

    PL/SQL Developer 连接Oracle数据库详细配置方法 近段时间很多网友提出监听配置相关问题,客户终端(Client)无法连接服务器端(Server).本文现对监听配置作一简单介绍,给出 ...

  3. Navicat Premium 连接Oracle 数据库之配置

    Navicat Premium连接Oracle 数据库之配置 1.Oracle数据库服务器下载 Oracle官方网站下载数据库最新版本:http://www.oracle.com/technetwor ...

  4. jmeter中通过jdbc方式连接mysql数据库的配置参考

    jmeter中通过jdbc方式连接mysql数据库的配置参考: Database URL=jdbc:mysql://ip:port/dbname?useUnicode=true&allowMu ...

  5. 【linux环境】Linux环境 php连接oracle11g数据库(相关插件已备份至U盘)

    1.环境:centos6 . LNMP(linux环境都可以,跟服务器没啥大关系) 2.前期准备:弄清楚 项目php的运行目录,php.ini的配置目录,php-config的运行目录 3.安装先知: ...

  6. 连接Oracle11g数据库时遇到无监听,网络适配器无法建立等问题的一些解决办法

    最近在用Java做一个学生成绩管理系统,打算用Oracle数据库.由于原先没接触过Oracle,所以安装完数据库后,连接数据库时遇到各种问题,网上搜索解决方案还是没有解决时,又重新安装了几次.终于在前 ...

  7. Java Web项目中连接Access数据库的配置方法

    本文是对前几天的"JDBC连接Access数据库的几种方式"这篇的升级.因为在做一些小项目的时候遇到的问题,因此才决定写这篇博客的.昨天已经将博客公布了.可是后来经过一些验证有点问 ...

  8. visual studio 2017使用NHibernate4.0连接oracle11g数据库

    之前一直是公司用NHibernate2.1来做项目,连接oracle 10g的数据库,配置NHibernate的东西都是以前的同事做好了的,也怪自己太懒了,没尝试过配置这个东西,虽然一直在使用NHib ...

  9. Oracle SQL developer 连接 MySQL 数据库安装配置

    1. 下载 JDBC driver for MySQL 下载链接: https://dev.mysql.com/downloads/connector/j/ 下载成功后,解压缩,得到 mysql jd ...

随机推荐

  1. webpack的学习准备工作

    第一步:创建一个空项目,在terminal中 npm init  创建package.json文件,直接回车便可. 第二步:局部安装webpack: npm install --save-dev we ...

  2. jq跨域获取json

    <!DOCTYPE html><html lang="zh"> <head> <meta charset="UTF-8" ...

  3. [LeetCode] Subarray Product Less Than K 子数组乘积小于K

    Your are given an array of positive integers nums. Count and print the number of (contiguous) subarr ...

  4. [LeetCode] Replace Words 替换单词

    In English, we have a concept called root, which can be followed by some other words to form another ...

  5. 【Android学习笔记】布局的简单介绍

    我在学习Android开发的时候是基于实战项目的,基础理论知识以前也是零散的看过一些,个人还是觉得边做项目边学要快些.现在做的这个项目iOS端是我做的,这样逻辑什么的都很熟悉,于我而言换个平台也只是换 ...

  6. 毕业回馈--89C51keil工程的创建

    声明:毕业回馈类博客均为大学毕业前夕同同学共享内容.为了给大学做一个总结,报答母校的栽培,才发起这样一个活动. ******************************************** ...

  7. Error:ivalue require as left operant of assignment

    Error:ivalue require as left operant of assignment 解答:该错误的意思是左操作数必须为左值,这个发生错误的原因在于赋值符号的左边不能是已确定的值,如: ...

  8. Python获取会议部分的信息内容(不断完善中)

    这是一个用于获取物理师会议报告的简单爬虫,数据库表结构正在不断完善中 爬虫信息: # -*- coding:utf-8 -*- import urllib.request import pymysql ...

  9. 【BZOJ4033】【HAOI2015】树上染色

    Description 有一棵点数为 N 的树,树边有边权.给你一个在 0~ N 之内的正整数 K ,你要在这棵树中选择 K个点,将其染成黑色,并将其他 的N-K个点染成白色 . 将所有点染色后,你会 ...

  10. ●洛谷P3688 [ZJOI2017]树状数组

    题链: https://www.luogu.org/problemnew/show/P3688题解: 二维线段树. 先不看询问时l=1的特殊情况. 对于一个询问(l,r),如果要让错误的程序得到正确答 ...