HYPERLINK /hoojo/p/Spring_Hibernate_MyBatis_MultipleDataSource_switchDataSource.html Spring3.3 整合 Hibernate3、MyBatis3.2 配置多数据源/动态切换数据源 方法
一、开篇
这里整合分别采用了Hibernate和MyBatis两大持久层框架,Hibernate主要完成增删改功能和一些单一的对象查询功能,MyBatis主要负责查询功能。所以在出来数据库方言的时候基本上没有什么问题,但唯一可能出现问题的就是在hibernate做添加操作生成主键策略的时候。因为我们都知道hibernate的数据库本地方言会针对不同的数据库采用不同的主键生成策略。
所以针对这一问题不得不采用自定义的主键生成策略,自己写一个主键生成器的表来维护主键生成方式或以及使用其他的方式来生成主键,从而避开利用hibernate默认提供的主键生成方式。
所以存在问题有:怎样动态的切换数据库方言?
这个问题还没有解决,没有更多时间来研究。不过想想应该可以配置两个SessionFactory来实现,那又存在怎么样动态切换SessionFactory呢?!需要解决这个问题才行,而这里则演示怎么样动态切换DataSource数据源的方法。
?
二、代码演示
在演示开始之前你的项目已经成功的整合完成的情况下才行,如果你还不知道怎么使用Spring整合MyBatis和Spring整合Hibernate的话。建议参考之前的文章: HYPERLINK /hoojo/archive/2011/04/15/2016324.html MyBatis3整合Spring3、SpringMVC3、 HYPERLINK /hoojo/archive/2011/01/07/1929577.html Struts2、Spring、Hibernate整合ExtJS这两篇文章结合起来就可以完成整合是几大框架了。这里重点介绍动态切换DataSource数据源的方法!
1、datasource的配置 applicationContext-datasource.xml
?xml version=1.0 encoding=UTF-8?
beans xmlns=/schema/beans
xmlns:aop=/schema/aop
xmlns:tx=/schema/tx
xmlns:xsi=/2001/XMLSchema-instance
xsi:schemaLocation=/schema/beans
/schema/beans/spring-beans-3.2.xsd
/schema/aop
/schema/aop/spring-aop-3.2.xsd
/schema/tx
/schema/tx/spring-tx-3.2.xsd
!-- 配置c3p0数据源 --
bean id=dataSourceOracle class=com.mchange.v2.c3p0.ComboPooledDataSource destroy-method=close
property name=driverClass value=${datasource.driver}/
property name=jdbcUrl value=${datasource.url}/
property name=user value=${datasource.username}/
property name=password value=${datasource.password}/
property name=acquireIncrement value=${c3p0.acquireIncrement}/
property name=initialPoolSize value=${c3p0.initialPoolSize}/
property name=minPoolSize value=${c3p0.minPoolSize}/
property name=maxPoolSize value=${c3p0.maxPoolSize}/
property name=maxIdleTime value=${c3p0.maxIdleTime}/
property name=idleConnectionTestPerio
您可能关注的文档
- L09_国际金融市场总汇.ppt
- Lecture2公共部门存在的理由总汇.ppt
- lecture5广告翻译总汇.ppt
- lecture6利率衍生金融工具总汇.pptx
- LED照明常见词汇中英对照(销售)总汇.doc
- lesson4DOMESTICBANKING总汇.ppt
- LETTEROFCREDIT信用证总汇.ppt
- lightscape板书总汇.doc
- Linux嵌入开发常用工具第5章总汇.ppt
- linux软件包管理管总汇.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)