Spring Mvc 加Mybatis的多数据库访问源配置访问过程如下:

  • 在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:mvc="http://www.springframework.org/schema/mvc"
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-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd"
default-autowire="byType"> <aop:aspectj-autoproxy />
<context:annotation-config />
<context:component-scan base-package="com.dbOne.*.*" />
<!-- <context:component-scan base-package="com.rrt.*.view, com.rrt.*.service, com.rrt.frame.aspect" />
-->
<!-- ============================== 数据库一配置 ==================================== -->
<bean id="dbOneDataSource" name="dbOneDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="url">
<value>jdbc:oracle:thin:@192.168.31.20:1521:orcl</value>
</property>
<property name="username">
<value>dbOneUserName</value>
</property>
<property name="password">
<value>dbOnePassword</value>
</property>
</bean> <bean id="rrtSqlSessionFactory" name="rrtSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="rrtDataSource" />
<property name="configLocation" value="classpath:setup/mybatis-config-dbOne.xml" />
</bean> <bean id="rrtMapperScannerConfigurer" name="rrtMapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactory" ref="rrtSqlSessionFactory" />
<property name="basePackage" value="com.rrt.*.dao" />
</bean> <bean id="rrtTransactionManager" name="rrtTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="rrtDataSource" />
</bean> <tx:annotation-driven transaction-manager="rrtTransactionManager" />
<!-- ============================== 数据库二配置 ==================================== -->
<bean id="centerDataSource" name="centerDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>oracle.jdbc.driver.OracleDriver</value>
</property>
<property name="url">
<value>jdbc:oracle:thin:@192.168.31.21:1521:orcl</value>
</property>
<property name="username">
<value>dbTwoUserName</value>
</property>
<property name="password">
<value>dbTwoPassword</value>
</property>
</bean> <bean id="centerSqlSessionFactory" name="centerSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="centerDataSource" />
<property name="configLocation" value="classpath:setup/mybatis-config-Two.xml" />
</bean> <bean id="centerMapperScannerConfigurer" name="centerMapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactory" ref="centerSqlSessionFactory" />
<property name="basePackage" value="com.center.*.dao" />
</bean> <bean id="centerTransactionManager" name="centerTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="centerDataSource"></property>
</bean> <tx:annotation-driven transaction-manager="centerTransactionManager" /> <!-- 验证码配置 -->
<bean id="captchaProducer" class="com.google.code.kaptcha.impl.DefaultKaptcha">
<property name="config">
<bean class="com.google.code.kaptcha.util.Config">
<constructor-arg type="java.util.Properties">
<value>
kaptcha.border=no
kaptcha.textproducer.char.space=3
kaptcha.textproducer.char.string=235689
kaptcha.noise.color=yellow
kaptcha.image.width=80
kaptcha.image.height=25
kaptcha.textproducer.font.size=15
kaptcha.noise.impl=com.google.code.kaptcha.impl.NoNoise
kaptcha.textproducer.font.names=Courier, Arial
kaptcha.obscurificator.impl=com.google.code.kaptcha.impl.ShadowGimpy
</value>
</constructor-arg>
</bean>
</property>
</bean> <!-- memcached缓存客户端配置 -->
<bean id="memcachedPool" class="com.danga.MemCached.SockIOPool"
factory-method="getInstance" init-method="initialize">
<constructor-arg>
<value>neeaMemcachedPool</value>
</constructor-arg>
<property name="servers">
<list>
<value>192.168.31.20:11211</value>
</list>
</property>
<property name="initConn">
<value>20</value>
</property>
<property name="minConn">
<value>10</value>
</property>
<property name="maxConn">
<value>50</value>
</property>
<property name="nagle">
<value>false</value>
</property>
<property name="socketTO">
<value>3000</value>
</property>
</bean>
<bean id="memcachedClient" class="com.danga.MemCached.MemCachedClient">
<constructor-arg>
<value>neeaMemcachedPool</value>
</constructor-arg>
</bean>
</beans>
  • mybatis-config-One.xml配置内容
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="cacheEnabled" value="true"/>
<setting name="lazyLoadingEnabled" value="true"/>
<setting name="multipleResultSetsEnabled" value="true"/>
<setting name="useColumnLabel" value="true"/>
<setting name="useGeneratedKeys" value="true"/>
<setting name="defaultExecutorType" value="SIMPLE"/>
<setting name="defaultStatementTimeout" value="25000"/>
<setting name="autoMappingBehavior" value="PARTIAL"/>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings> <typeAliases>
<typeAlias type="com.rrtong.login.entity.Login" alias="Login" />
</typeAliases> <mappers>
<mapper resource="./sqlmap/User.xml" />
</mappers>
</configuration>

其中

User.xml的内容为
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.rrtong.login.dao.LoginDao">
<select id="getLoginInfo" parameterType="String" resultType="Login">
select
userName,
userPwd
 From person
where code = #{userCode}
</select>
</mapper>

特别说明:两个数据源配置的<property name="basePackage" value="com.rrt.*.dao" />必须不一样,特别是在使用通配符时 ,需要注意不能范围重叠。

  • mybatis-config-Two.xml配置内容
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="cacheEnabled" value="true"/>
<setting name="lazyLoadingEnabled" value="true"/>
<setting name="multipleResultSetsEnabled" value="true"/>
<setting name="useColumnLabel" value="true"/>
<setting name="useGeneratedKeys" value="true"/>
<setting name="defaultExecutorType" value="SIMPLE"/>
<setting name="defaultStatementTimeout" value="25000"/>
<setting name="autoMappingBehavior" value="PARTIAL"/>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings> <typeAliases>
<typeAlias type="com.rrtong.common.entity.Menu" alias="Menu" />
</typeAliases> <mappers>
<mapper resource="./sqlmap/Menu.xml" />
</mappers>
</configuration>

其中Menu.xml的内容为:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.rrtong.common.dao.MenuDao">
<select id="getMenuList" resultType="Menu">
select menuId, title, url
from MENU
where PARTENTID = 0
</select>
 <select id="getSubMenuList" parameterType="String" resultType="Menu">
select menuId, title, url
from MENU
where PARTENTID = #{parentId}
</select>
</mapper>

Spring Mvc和Mybatis的多数据库访问配置过程的更多相关文章

  1. (4.1)Spring MVC执行原理和基于Java的配置过程

    一.Spring MVC执行原理和基于Java配置的配置过程 (一)Spring MVC执行过程,大致为7步. 所有的请求都会经过Spring的一个单例的DispacherServlet. Dispa ...

  2. Spring MVC执行原理和基于Java的配置过程

    一.Spring MVC执行原理和基于Java配置的配置过程 (一)Spring MVC执行过程,大致为7步. 所有的请求都会经过Spring的一个单例的DispacherServlet. Dispa ...

  3. Spring、Spring MVC、MyBatis

    Spring.Spring MVC.MyBatis整合文件配置详解 使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了.先总结一下SSM整合的文件配置.其实具体的用法最好还是看官方文档. Sp ...

  4. IDEA下创建Maven项目,并整合使用Spring、Spring MVC、Mybatis框架

    项目创建 本项目使用的是IDEA 2016创建. 首先电脑安装Maven,接着打开IDEA新建一个project,选择Maven,选择图中所选项,下一步. 填写好GroupId和ArtifactId, ...

  5. 转载 Spring、Spring MVC、MyBatis整合文件配置详解

    Spring.Spring MVC.MyBatis整合文件配置详解   使用SSM框架做了几个小项目了,感觉还不错是时候总结一下了.先总结一下SSM整合的文件配置.其实具体的用法最好还是看官方文档. ...

  6. spring MVC、mybatis配置读写分离

    spring MVC.mybatis配置读写分离 1.环境: 3台数据库机器,一个master,二台slave,分别为slave1,slave2 2.要实现的目标: ①使数据写入到master ②读数 ...

  7. SSM 三大框架系列:Spring 5 + Spring MVC 5 + MyBatis 3.5 整合(附源码)

    之前整理了一下新版本的 SSM 三大框架,这篇文章是关于它的整合过程和项目源码,版本号分别为:Spring 5.2.2.RELEASE.SpringMVC 5.2.2.RELEASE.MyBatis ...

  8. spring mvc与mybatis收集到博客

    mybaits-spring 官方教程 http://mybatis.github.io/spring/zh/ SpringMVC 基础教程 框架分析 http://blog.csdn.net/swi ...

  9. 搭建Spring、Spring MVC、Mybatis和Freemarker

    搭建Spring.Spring MVC.Mybatis和Freemarker 1.pom文件 <project xmlns="http://maven.apache.org/POM/4 ...

随机推荐

  1. Android Environment 判断sd卡是否挂载 获取sd卡目录

    在将一个文件存储到sd卡上面的时候,一般需要判断sd是否已经挂载才进行操作. 那么如何判断sd卡已经挂载呢? 我们可以使用Android的Environment类,具体使用如下: if(Environ ...

  2. http://www.cnblogs.com/xdp-gacl/p/3951952.html

    http://www.cnblogs.com/xdp-gacl/p/3951952.html http://www.cnblogs.com/kristain/articles/2409021.html

  3. View以自身中心旋转的代码解惑

    matrix.preTranslate(-centerX, -centerY); matrix.postTranslate(centerX, centerY); 经常在中心旋转的应用中看到这段代码. ...

  4. No modifications are allowed to a locked ParameterMap

    错误:java.lang.IllegalStateException: No modifications are allowed to a locked ParameterMap at org.apa ...

  5. LA_3263_That_Nice_Euler_Circuits_(欧拉定理+计算几何基础)

    描述 https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&category=15& ...

  6. Phpwind v9.0 存储型xss跨站漏洞

    漏洞版本: Phpwind v9.0 漏洞描述: Phpwind专注于中小网站应用的整合和价值的发掘,我们认为,以社区为网站的基础,可以提供丰富的应用,满足人们获取信息.交流.娱乐.消费等生活需求.获 ...

  7. android webview js交互 第一节 (java和js交互)

    转载请注明出处         挺帅的移动开发专栏  http://blog.csdn.net/wangtingshuai/article/details/8631835        在androi ...

  8. HDU 2546 饭卡

    http://acm.hdu.edu.cn/showproblem.php?pid=2546 呆呆. 饭卡 Time Limit: 5000/1000 MS (Java/Others)    Memo ...

  9. WSAAsyncSelect模型

    ============================================== █ 异步选择(WSAAsyncSelect)模型是一个有用的异步 I/O 模型.利用这个模型,应用程序可在 ...

  10. JavaScript高级程序设计35.pdf

    遍历 “DOM2级遍历和范围”模块定义了两个用于辅助完成顺序遍历DOM结构的类型:NodeIterator和TreeWalker,两个类型能够基于给定的起点对DOM结构执行深度优先(depth-fir ...