接上一个博文,没有数据库连接池,纯粹用jpa的官方链接。
所以这次要加上连接池本文用Druid连接池来实现多数据源的配置。
persistence.xml 这个文件可以省略了,全部配置在applicationContext.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:jpa="http://www.springframework.org/schema/data/jpa" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.1.xsd http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa-1.2.xsd"> <context:annotation-config/> <context:component-scan base-package="com.tw"/> <!-- mysql数据源配置 --> <bean id="mysqlDataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <!-- 驱动名称 --> <property name="DriverClassName" value="com.mysql.jdbc.Driver" /> <!-- JDBC连接串 --> <property name="url" value="jdbc:mysql://192.168.132.1:3306/twq?useUnicode=true&characterEncoding=UTF-8" /> <!-- 数据库用户名称 --> <property name="username" value="ws" /> <!-- 数据库密码 --> <property name="password" value="unionmanws" /> <!-- 连接池最大使用连接数量 --> <property name="maxActive" value="20" /> <!-- 初始化大小 --> <property name="initialSize" value="5" /> <!-- 获取连接最大等待时间 --> <property name="maxWait" value="60000" /> <!-- 连接池最小空闲 --> <property name="minIdle" value="2" /> <!-- 逐出连接的检测时间间隔 --> <property name="timeBetweenEvictionRunsMillis" value="3000" /> <!-- 最小逐出时间 --> <property name="minEvictableIdleTimeMillis" value="300000" /> <!-- 测试有效用的SQL Query --> <property name="validationQuery" value="SELECT 'x'" /> <!-- 连接空闲时测试是否有效 --> <property name="testWhileIdle" value="true" /> <!-- 获取连接时测试是否有效 --> <property name="testOnBorrow" value="false" /> <!-- 归还连接时是否测试有效 --> <property name="testOnReturn" value="false" /> </bean> <!-- 整合mysqljpa --> <bean id="mysqlEntityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="dataSource" ref="mysqlDataSource"></property> <property name="packagesToScan" value="com.tw.entity.sys"></property> <property name="persistenceUnitName" value="mysqldb"></property> <property name="jpaVendorAdapter"> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> <property name="showSql" value="true"></property> </bean> </property> <property name="jpaProperties"> <props> <!--设置外连接抓取树的最大深度 --> <prop key="hibernate.max_fetch_depth">3</prop> <prop key="hibernate.jdbc.fetch_size">18</prop> <prop key="hibernate.jdbc.batch_size">10</prop> <!-- 自动建表类型 validate|create|create-drop|update --> <!-- <prop key="hibernate.hbm2ddl.auto">validate</prop> --> <!-- 是否显示SQL --> <prop key="hibernate.show_sql">false</prop> <!-- 显示SQL是否格式化 --> <prop key="hibernate.format_sql">false</prop> <!-- 关闭二级缓存 --> <prop key="hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</prop> <!-- 关闭实体字段映射校验 --> <prop key="javax.persistence.validation.mode">none</prop> </props> </property> </bean> <bean id="mysqltransactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="mysqlEntityManagerFactory" /> <qualifier value="mysqlEM"/> </bean> <tx:annotation-driven transaction-manager="mysqltransactionManager" proxy-target-class="false"/> <!-- sqlserver数据源配置 --> <bean id="sqlserverDataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <!-- 驱动名称 --> <property name="DriverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" /> <!-- JDBC连接串 --> <property name="url" value="jdbc:sqlserver://192.168.130.10:1433;DatabaseName=unionman" /> <!-- 数据库用户名称 --> <property name="username" value="sa" /> <!-- 数据库密码 --> <property name="password" value="123abc" /> <!-- 连接池最大使用连接数量 --> <property name="maxActive" value="20" /> <!-- 初始化大小 --> <property name="initialSize" value="5" /> <!-- 获取连接最大等待时间 --> <property name="maxWait" value="60000" /> <!-- 连接池最小空闲 --> <property name="minIdle" value="2" /> <!-- 逐出连接的检测时间间隔 --> <property name="timeBetweenEvictionRunsMillis" value="3000" /> <!-- 最小逐出时间 --> <property name="minEvictableIdleTimeMillis" value="300000" /> <!-- 测试有效用的SQL Query --> <property name="validationQuery" value="SELECT 'x'" /> <!-- 连接空闲时测试是否有效 --> <property name="testWhileIdle" value="true" /> <!-- 获取连接时测试是否有效 --> <property name="testOnBorrow" value="false" /> <!-- 归还连接时是否测试有效 --> <property name="testOnReturn" value="false" /> </bean> <!-- 整合sqlserverjpa --> <bean id="sqlserverEntityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="dataSource" ref="sqlserverDataSource"></property> <property name="packagesToScan" value="com.tw.entity.plan"></property> <property name="persistenceUnitName" value="sqlserverdb"></property> <property name="jpaVendorAdapter"> <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> <property name="showSql" value="true"></property> </bean> </property> <property name="jpaProperties"> <props> <!--设置外连接抓取树的最大深度 --> <prop key="hibernate.max_fetch_depth">3</prop> <prop key="hibernate.jdbc.fetch_size">18</prop> <prop key="hibernate.jdbc.batch_size">10</prop> <!-- 自动建表类型 validate|create|create-drop|update --> <!-- <prop key="hibernate.hbm2ddl.auto">validate</prop> --> <!-- 是否显示SQL --> <prop key="hibernate.show_sql">false</prop> <!-- 显示SQL是否格式化 --> <prop key="hibernate.format_sql">false</prop> <!-- 关闭二级缓存 --> <prop key="hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</prop> <!-- 关闭实体字段映射校验 --> <prop key="javax.persistence.validation.mode">none</prop> </props> </property> </bean> <bean id="sqlservertransactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="sqlserverEntityManagerFactory" /> <qualifier value="sqlserverEM"/> </bean> <tx:annotation-driven transaction-manager="sqlservertransactionManager" proxy-target-class="false"/> </beans>
其他地方按上次的配置不需要做改动。这样就好了。
文章转载自:www.loveweir.com
相关推荐
5. 连接数据库,配置数据库连接池,如C3P0或Druid。 6. 使用EasyUI创建前端页面,与后端Controller进行交互,实现数据的展示和操作。 这个项目中的"YFKsshe-maven3.3.9-spring4.3.10-Struts2 2.3.34-hibernate...
这里推荐使用 Druid 作为数据库连接池,并通过 Spring 的配置文件来管理数据源和其他组件的配置。 **1. Druid 连接池:** ```xml <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>...
在 Spring 中,可以通过配置数据源 Bean 来使用连接池。 4. **AOP(面向切面编程)** Spring 的 AOP 支持在运行时动态地将代码插入到其他对象中,常用于事务管理、日志记录、权限检查等。在配置文件中,可以定义切...
13. **Druid数据源**:Druid是阿里巴巴提供的高性能数据库连接池,提供了监控、SQL解析、拦截器等功能,可以提高数据库访问性能并提供丰富的监控信息。 在"springboot-demo"项目中,开发者不仅学习了如何搭建一个...
4. **Druid**: Druid是阿里巴巴开源的一个数据库连接池组件,它提供了监控、扩展性和性能优化等功能。在Spring Boot应用中,Druid可以作为数据源,确保高效地管理和使用数据库连接。 5. **JPA (Java Persistence ...
同时,为了提高性能,我们通常会引入其他工具和库,如C3P0或Druid作为数据库连接池,使用MyBatis进行更灵活的SQL操作,或者使用Spring Data JPA简化JPA操作。 通过SSH整合,开发者能够构建出结构清晰、易于维护的...
在这个项目中,我们采用了多种技术和框架来构建一个完整的系统,包括控制层、数据持久化层、服务层、数据库管理、安全认证、流程控制、缓存管理、数据源与连接池、日志记录、作业调度以及在线支付功能。 首先,控制...
4. 数据库连接池配置:如C3P0、Druid等,这些配置通常也在Spring的配置文件中。 SSH项目的开发过程中,开发者需要编写Action类来处理业务逻辑,实体类来表示数据库中的表,以及DAO(Data Access Object)层来封装...
10. **数据库配置**:Spring MVC项目通常会包含数据库连接池配置,如Druid或HikariCP,以及JDBC或JPA的相关配置,用于连接和操作数据库。 在提供的文件名称"springmvc3"中,我们可以推测这是一个Spring MVC项目的第...
Hibernate 5.0.0引入了更多的JPA2.1规范支持,优化了查询性能,增强了对多数据源的支持,使得数据库操作更为便捷。 Oracle驱动包则是连接到Oracle数据库所必需的,它允许SSH框架中的应用程序通过JDBC与Oracle数据库...
- 数据库连接池,如HikariCP或Druid,提高数据库连接的复用性。 - 使用MyBatis或JPA进行SQL操作,通过Repository接口封装数据访问层。 4. **安全控制** - Spring Security是Spring官方提供的安全框架,负责认证...
### Spring Boot .yml 配置详解 #### 一、概览 在现代Java开发中,Spring Boot凭借其“约定优于配置”的理念极大地简化了应用的搭建与部署过程。其中,`application.yml`文件作为Spring Boot项目的配置文件之一,...
29. **JdbcTemplate**:jdbctemplateex展示了Spring MVC中JdbcTemplate的多数据源配置,JdbcTemplate是Spring提供的简化JDBC操作的工具。 30. **JDIC(Java Desktop Integration Components)**:jdicdemo说明了...
Druid数据源是阿里巴巴开源的一个高性能数据库连接池组件,它不仅提供了连接池功能,还集成了监控、SQL解析、日志等功能,能够帮助开发者更好地管理和优化数据库连接,提高系统性能。 这个“sshweb”项目显然是一位...
2. **druid-1.1.6.jar**:Druid是一个强大的数据库连接池组件,提供监控、扩展性以及更好的性能。在SSM项目中,Druid通常作为数据源,负责管理数据库连接,提高数据库操作的效率。 3. **aspectjweaver-1.8.8.jar**...
- **数据源配置**:包括连接池配置,如Druid、HikariCP等。 5. **安全控制** - **Spring Security**:Spring官方的安全框架,提供认证与授权功能。 - **JWT**:JSON Web Tokens,用于无状态的身份验证。 - **...
- **配置数据源**:通常使用Druid或C3P0等数据连接池。 - **配置SqlSessionFactory**:通过SqlSessionFactoryBean来配置,指定数据源和Mapper接口的位置。 - **编写Mapper接口**:定义SQL语句的接口方法,由MyBatis...
- 数据库连接池如HikariCP或Druid用于优化数据库连接管理,提高性能。 6. **集成测试**: - 使用JUnit或Espresso进行单元测试和UI测试,确保各个功能模块的正确性。 - 通过Mockito等工具模拟外部依赖,进行集成...