hibernate.properties配置文件的简单配置信息:
dataSource.driverClassName= com.mysql.jdbc.Driver dataSource.username = root dataSource.password = root dataSource.dialect = www.tongmap.cn.utils.MySQLDialectImpl dataSource.url = jdbc:mysql://localhost:3306/sm dataSource.hbm2ddl.auto = update
maven配置的jar依赖pom.xml,说明一下,native类型的jar包是我自己下载jar包后手工添加到本地仓库中的,并不是使用maven自动下载的(网络问题),使用maven下载需要把native修改为com.cloudhopper.proxool:
<!-- c3p0数据库连接池用到的jar包 --> <dependency> <groupId>c3p0</groupId> <artifactId>c3p0</artifactId> <version>0.9.1.1</version> </dependency> <!-- proxool数据库连接池用到的jar包 <dependency> <groupId>native</groupId> <artifactId>proxool</artifactId> <version>0.9.1</version> </dependency> <dependency> <groupId>native</groupId> <artifactId>proxool-cglib</artifactId> <version>0.9.1</version> </dependency> --> <!-- DBCP数据库连接池用到的jar包 <dependency> <groupId>commons-dbcp</groupId> <artifactId>commons-dbcp</artifactId> <version>1.4</version> </dependency> -->
注意:我使用的c3p0版本为0.9.1.1,所以只要一个jar包就可以了,如果使用更新版本的c3p0,会有两个jar包,以c3p0-0.9.2.1为例,会需要以下依赖:
<dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</artifactId> <version>0.9.2.1</version> </dependency> <dependency> <groupId>com.mchange</groupId> <artifactId>mchange-commons-java</artifactId> <version>0.2.3.4</version> </dependency>
applicationContext.xml文件的配置,至于更详细的大家可以在官网中查看资料,每个配置的官网我在注释中有说明:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"> <!-- 设置使用注解的类所在的jar包 --> <context:component-scan base-package="www.tongmap.cn" /> <!-- 根据类路径加载hibernate的配置文件 --> <context:property-placeholder location="classpath:hibernate.properties" /> <!-- 配置项目的MySQL数据库的数据源 --> <!-- Spring本身也提供了一个简单的数据源实现类DriverManagerDataSource ,它位于org.springframework.jdbc.datasource包中。 --> <!-- 这个类实现了javax.sql.DataSource接口,但它并没有提供池化连接的机制,每次调用getConnection()获取新连接时,只是简单地创建一个新的连接。 --> <!-- 因此,这个数据源类比较适合在单元测试 或简单的独立应用中使用,因为它不需要额外的依赖类。 --> <!-- 其提供的连接没有进行池管理,当连接数到达一定的大小会出现异常。 --> <!-- <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close"> <property name="driverClassName" value="${dataSource.driverClassName}" /> <property name="url" value="${dataSource.url}" /> <property name="username" value="${dataSource.username}" /> <property name="password" value="${dataSource.password}" /> </bean> --> <!-- c3p0式数据源和数据库连接池 --> <!-- 配置说明官网:http://www.mchange.com/projects/c3p0/ --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="driverClass" value="${dataSource.driverClassName}"></property> <property name="jdbcUrl" value="${dataSource.url}"></property> <property name="user" value="${dataSource.username}"></property> <property name="password" value="${dataSource.password}"></property> <property name="minPoolSize" value="10"></property> <!--初始化时获取15个连接,取值应在minPoolSize与maxPoolSize之间。Default: 3 --> <property name="initialPoolSize" value="15"></property> <!--连接池中保留的最大连接数。Default: 15 --> <property name="maxPoolSize" value="30"></property> <!--当连接池用完时客户端调用getConnection()后等待获取新连接的时间,超时后将抛出 SQLException,如设为0则无限期等待。单位毫秒。Default: 0 --> <property name="checkoutTimeout" value="3000"></property> <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 --> <property name="acquireIncrement" value="2"></property> <!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 --> <property name="acquireRetryAttempts" value="5"></property> <!--两次连接间隔时间,单位毫秒。Default: 1000 --> <property name="acquireRetryDelay" value="1000"></property> <!--连接关闭时默认将所有未提交的操作回滚。Default: false --> <property name="autoCommitOnClose" value="false"></property> <!--获取连接失败将会引起所有等待连接池来获取连接的线程抛出异常。但是数据源仍有效 保留,并在下次调用getConnection()的时候继续尝试获取连接。如果设为true,那么在尝试 获取连接失败后该数据源将申明已断开并永久关闭。Default: false--> <property name="breakAfterAcquireFailure" value="false"></property> <!-- 符合JDBC标准、用于控制 PreparedStatements 数量的参数,数据源中单个连接缓存的 PreparedStatements 数量, 与 maxStatementsPerConnection(非标准) 参数有点像 --> <property name="maxStatements" value="100"></property> <!--最大空闲时间,指定秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 --> <property name="maxIdleTime" value="0"></property> <!--每1200秒检查所有连接池中的空闲连接。Default: 0 --> <property name="idleConnectionTestPeriod" value="1200"></property> <!--如果设为true那么在取得连接的同时将校验连接的有效性。Default: false --> <property name="testConnectionOnCheckin" value="true"></property> <!--c3p0将建一张名为testConnection的空表,并使用其自带的查询语句进行测试。如果定义了这个参数那么 属性preferredTestQuery将被忽略。你不能在这张testConnection表上进行任何操作,它将只供c3p0测试 使用。Default: null--> <property name="automaticTestTable" value="testConnection"></property> </bean> <!-- proxool式数据源和数据库连接池 --> <!-- <bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource"> <property name="driver" value="${dataSource.driverClassName}"></property> <property name="driverUrl" value="${dataSource.url}"></property> <property name="user" value="${dataSource.username}"></property> <property name="password" value="${dataSource.password}"></property> <property name="maximumActiveTime" value="300000"></property> 最少保持的空闲连接数 <property name="prototypeCount" value="5"></property> 最小连接数 <property name="minimumConnectionCount" value="2"></property> <property name="maximumConnectionCount" value="50"></property> <property name="simultaneousBuildThrottle" value="50"></property> </bean> --> <!-- DBCP式数据源和数据库连接池 --> <!-- 配置说明官网:http://commons.apache.org/proper/commons-dbcp/configuration.html <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${dataSource.driverClassName}"></property> <property name="url" value="${dataSource.url}"></property> <property name="username" value="${dataSource.username}"></property> <property name="password" value="${dataSource.password}"></property> <property name="initialSize" value="10"></property> <property name="maxActive" value="30"></property> <property name="maxIdle" value="5"></property> </bean> --> <!-- DBCP采用JNDI式数据源和数据库连接池 --> <!-- <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName" value="java:comp/env/jdbc/zhang"></property> </bean> --> <!-- 配置MySQL数据库的heibenate的sessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">${dataSource.dialect}</prop> <prop key="hibernate.hbm2ddl.auto">${dataSource.hbm2ddl.auto}</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.format_sql">true</prop> <prop key="hibernate.use_sql_comments">true</prop> </props> </property> <!-- 扫描实体类,也就是平时所说的model --> <property name="packagesToScan"> <list> <value>www.tongmap.cn.entity</value> </list> </property> </bean> <!-- 配置MySQL数据库的spring的事务管理 --> <!-- 要在 Spring 中使用 @Transactional不加参数的注释,必须在 Spring 配置文件中添加以下代码行 --> <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" /> <tx:annotation-driven transaction-manager="transactionManager" /> <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory" /> </bean> </beans>
相关推荐
在Spring MVC应用中,数据库连接池的管理是一个关键部分,其中Druid是一个广泛使用的高性能连接池组件。在标准配置下,Druid允许开发者通过配置文件(如`druid.properties`或`application.properties`)来设置数据库...
RESTFUL + SPRINGMVC + C3P0连接池 的完美实现. 传递json数据到springmvc自动转为obj。obj传前台可直接转换为json。 rest配置文件内 修改,可同理兼容 JSON XML AMF 或其他各种。
总之,整合SpringMVC和C3P0连接池可以提升应用的数据库操作性能,通过合理配置C3P0参数,可以进一步优化连接池的使用,降低资源消耗。同时,结合Spring的其他组件,如JdbcTemplate,可以简化数据库操作,让代码更易...
在Java开发中,数据库连接管理是一项关键任务,它关乎到应用程序的性能和资源利用效率。Druid是一个功能强大且性能优异的数据源连接池,而PostgreSQL则是一种流行的开源关系型数据库管理系统。本教程将详细介绍如何...
在SSM项目中,数据库连接管理是至关重要的,而Druid则是一个优秀的数据库连接池组件,它由阿里巴巴开源并维护,提供了强大的监控和扩展功能。 Druid连接池的主要优点包括: 1. **性能优异**:Druid经过大量的性能...
SpringBoot整合Druid数据库连接池的方法 在本文中,我们将讨论如何在SpringBoot项目中整合Druid数据库连接池。Druid是Java语言中最好的数据库连接池,能够提供强大的监控和扩展功能。 什么是Druid? Druid是Java...
【标题】"spring3+hibernate4+springmvc+druid连接池"是一个常见的Java Web开发中的技术栈整合,其中包含了Spring框架的三个主要组件:Spring Core、Spring MVC和Hibernate ORM,以及Druid数据库连接池。这个组合常...
在SpringMVC中,我们通常使用@Autowired注解来自动装配依赖,例如数据库连接池(如Druid或HikariCP)和数据访问对象(DAO)。这样,Spring容器会在运行时自动为这些bean提供所需的依赖,极大地简化了配置。 接着,...
对于MySQL,配置数据库连接,通常是在Spring配置文件中创建`DataSource` bean,如使用Apache Commons DBCP或HikariCP连接池。设置数据库URL、用户名、密码等属性。 接下来,实现数据缓存。当需要查询数据库时,先...
集成springmvc和hibernate的JPA项目源码,共85个文件,采用Java语言编写,涉及多种文件类型如JAR打包文件、Java源代码、XML配置文件、Properties配置文件、Preferences配置文件、JSP页面、TLD模板、Classpath配置...
- **性能优化**:合理设置JDBC连接池大小,避免过多的数据库连接创建销毁,同时考虑使用缓存技术提升性能。 5. **总结** 这个压缩包为Java SpringMVC项目提供了数据库连接所需的驱动,方便开发者快速构建支持...
8. **优化和监控**:为了保证系统的稳定性和性能,可能还需要根据金仓数据库的特点进行一些优化设置,例如调整连接池参数,监控数据库性能等。 以上步骤是将一个原本使用SQL Server的SSM项目迁移到使用金仓数据库的...
在项目开发过程中,我们需要注意SSM框架的整合配置,包括Spring的bean定义、SpringMVC的配置、MyBatis的SqlSessionFactory配置以及数据库连接池的设置等。此外,还需要考虑系统的安全性,如使用HTTPS协议、防止SQL...
本教程将详细介绍如何在Spring MVC与JPA的整合中,去除传统的`persistence.xml`配置文件,转而使用属性文件来配置数据源以及DBCP(BasicDataSource)连接池来访问数据库。 首先,我们需要了解Spring MVC和JPA的基本...
数据库连接池管理数据库连接的生命周期,能够提高数据库连接的使用效率,减少性能开销,提高系统的稳定性。配置数据库连接池时,需要指定数据库驱动、URL、用户名、密码等信息,并且配置连接池的一些高级属性,比如...
在整合SpringMVC和Mybatis时,通常会创建数据库连接池,如Apache的DBCP或C3P0,以提高数据库连接的复用性和效率。 整合SpringMVC、Mybatis和SQLServer的过程主要包括以下步骤: 1. 配置SpringMVC:在web.xml中配置...
数据库连接池是提高性能的关键,例如Apache的DBCP或C3P0,它们能有效管理数据库连接,减少资源消耗。在Spring配置文件中,你会看到关于数据源和连接池的配置。 业务逻辑层通常包含Service接口和其实现类,它们封装...
其中,数据源(DataSource)是Spring Framework中最重要的组件之一,负责提供数据库连接池,提高应用程序的性能和可扩展性。然而,在配置数据源时,需要对数据库连接信息进行保护,以免泄露敏感信息。因此,本文将...
6. **监控与日志**:Druid提供了Web监控页面,可以展示数据库连接池的详细信息,包括连接数量、SQL执行情况等。此外,还可以通过配置日志输出,对SQL执行进行详细监控,帮助定位性能瓶颈。 7. **安全防护**:Druid...
配置数据源,如Druid或Apache Commons DBCP,提供数据库连接池,提高数据库操作的性能和效率。此外,还需要配置MyBatis的SqlSessionFactory,确保与数据库的交互能正常进行。 总之,SSM整合涉及多个层面的配置和...