起因:因为阿里开源的Cobar Client是在 Spring2.x Ibatis 基层上构建的, 在Spring3.x、 Mybatis 下不可用,因此参考Cobar Client 实现原理,实现一个基于Spring3.x Mybatis 的DAL。
功能 :
1:数据路由,可以根据需要实现规则,默认数据路由基于JEXL 表达式,有了数据路由,分库、分表、读写分离都可以实现了。
2:数据合并,可以根据需要实现规则,默认合并规则,只对结果进行简单的汇总
3:夸库事务支持
特点 : 对开发人员友好
1:事务配置相关,只需要修改事务管理器类,同时配置一个数据源工厂即可
<bean id="xiuTxManager" class="com.xiu.dal.XiuDataSourceTransactionManager" >
<constructor-arg index="0" ref="dataSourcesFactory"/>
</bean>
<constructor-arg index="0" ref="dataSourcesFactory"/>
</bean>
<bean id="dataSourcesFactory" class="com.xiu.dal.datasource.DataSourcesFactory" >
<constructor-arg index="0">
<map>
<entry key="xiuBaseDataSource" value-ref="baseDataSource" />
<entry key="defaultDataSource" value-ref="dataSource" />
</map>
</constructor-arg>
</bean>
<constructor-arg index="0">
<map>
<entry key="xiuBaseDataSource" value-ref="baseDataSource" />
<entry key="defaultDataSource" value-ref="dataSource" />
</map>
</constructor-arg>
</bean>
2:sqlsession 相关配置,默认情况下只需要换一下sqlSession 实现类,同时指定数据源工厂,此时使用默认的路由已经合并规则。
<bean id="xiuSqlSession" class="com.xiu.dal.XiuSqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory" />
<constructor-arg index="1" ref="dataSourcesFactory"/>
</bean>
<constructor-arg index="0" ref="sqlSessionFactory" />
<constructor-arg index="1" ref="dataSourcesFactory"/>
</bean>
可以在sqlSession 中指定自己的路由已经合并规则
<property name="router" ref="defaultRouter" />
<property name="merger" ref="defaultMerger" />
<property name="merger" ref="defaultMerger" />
代码与样例可参考附件:
相关推荐
Spring 3.x+Spring MVC 3.x+MyBatis 3.x 整合代码 该代码仅截止到《Spring 3.x+Spring MVC 3.x+MyBatis 3.x 整合(五)MyBatis 3.2.5 整合》,原文件地址:http://blog.csdn.net/xz2001/article/details/44346355
Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码,SSM+Vue的学生管理系统。 Java基于Spring+SpringMVC+MyBatis实现的学生信息管理系统源码,SSM+Vue的学生管理系统。 Java基于Spring+SpringMVC+...
spring 5.x整合mybatis3.x使用的是阿里的druid数据连接池
基于Spring+SpringMVC+Mybatis架构的博客系统:博客管理、图表数据、日志分析、访问记录、图库管理、资源管理、友链通知等。良好的页面预加载,无限滚动加载,文章置顶,博主推荐等。提供 用户端+管理端 的整套系统...
spring5.x+springmvc5.x+mybatis3.5x+tomcat9+jdk8+maven 项目框架2.0版本demo代码,主要用于自用,备份留底,版本后期将持续跟新
struts2_spring3.x+mybatis3.x+DB2整合案例,正在学DB2所以数据库用的是DB2,只要把数据库改改就ok了。
springboot2.X+mybatis+redis 简单项目搭建以及使用,可以在实践中了解这三者的关系
毕设项目-基于Spring + SpringMvc + MyBatis搭建的学生信息管理系统源码.zip毕设项目-基于Spring + SpringMvc + MyBatis搭建的学生信息管理系统源码.zip毕设项目-基于Spring + SpringMvc + MyBatis搭建的学生信息...
mybatis配置的重要文件包括mybatis-3-config.dtd mybatis-3-mapper.dtd
毕业设计基于spring+springMVC+mybatis的仓库管理系统源码.zip毕业设计基于spring+springMVC+mybatis的仓库管理系统源码.zip毕业设计基于spring+springMVC+mybatis的仓库管理系统源码.zip毕业设计基于spring+...
基于spring+springMvc+mybatis 开发的企业门户网站基于spring+springMvc+mybatis 开发的企业门户网站,适合具有一定编程基础,比如计算机专业的大学生或者1-3年工作经验的开发人员。手写简化版 Spring 框架,了解 ...
NULL 博文链接:https://whatisjavabean.iteye.com/blog/2017035
以前都是用SSH,第一次使用spring+springMVC+mybatis自己做的测试练习,主要是配置注解的使用,加了稍微详细的注释说明。另外在测试ehcache的时候也继承进去了,紧做练习参考. 环境:tomcat使用7.x,JDK1.7开发工具...
本科毕业设计,基于Spring+SpringMVC+Mybatis的机票订购平台,实现了登录退出、修改密码、查询机票、购买机票、撤销购买等功能,可以直接使用
Java流行框架三大整合,配有source源码包,经典jar包。
该jar包为最新的适配mybatis3.2.X及以上的版本。同时向下兼容mybatis的版本。mybatis整合spring jar包 mybatis-spring-1.2.3.jar
基于SpringMVC+Spring3+Mybatis框架的OA项目源码.zip 基于SpringMVC+Spring3+Mybatis框架的OA项目源码.zip 基于SpringMVC+Spring3+Mybatis框架的OA项目源码.zip 基于SpringMVC+Spring3+Mybatis框架的OA项目源码.zip ...
mybatis-3.2.0-SNAPSHOT.jar mybatis-spring-1.1.1.jar
Spring3.x企业应用开发实战(包括源码)绝对完整版 因未见太大,分8个小块(其他部分在本人资料里面查找),只有前4个每个收1分,后面4个免费下载,共4分,绝对完整,包含所有章节,不完整浏览分享