devil20 发表于 2016-10-25 07:06:06

(目前不可以跑通,有数据库的 )mybatis+mysql+springmvc + multidatasource 多数据源

  
  
  不好意思 ,该文章 有bug ,aop 注入 总是 走 default ,目前 没有解决 ,,,知道出错情况 科 回复。。。
  
  
  
  自动生成 代码 (自动生成mysql+springmvc + mybatis ) 
   http://download.csdn.net/download/knight_black_bob/9226373
  
  mybatis+mysql+springmvc + multidatasource 多数据源 
  下载 : http://download.csdn.net/download/knight_black_bob/9227505
  
  
  结果显示 :
  
  

 

 
  
  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:cache="http://www.springframework.org/schema/cache"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:jms="http://www.springframework.org/schema/jms" xmlns:lang="http://www.springframework.org/schema/lang"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:oxm="http://www.springframework.org/schema/oxm"
xmlns:p="http://www.springframework.org/schema/p" xmlns:task="http://www.springframework.org/schema/task"
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-3.1.xsd   
http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.1.xsd   
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd   
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd   
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd   
http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-3.1.xsd   
http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-3.1.xsd   
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd   
http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm-3.1.xsd   
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.1.xsd   
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd   
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd">
<context:annotation-config />
<aop:aspectj-autoproxy />
<context:component-scan base-package="cn.com.oneweb" />
<context:component-scan base-package="cn.com.twoweb" />
<context:component-scan base-package="cn.com.baoy.controller" />
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:db-config.properties"/>
</bean>

<bean id="dataSourceOne" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="${one.jdbc.driverClass}" />
<property name="jdbcUrl" value="${one.jdbc.url}" />
<property name="user" value="${one.jdbc.user}" />
<property name="password" value="${one.jdbc.password}" />
<property name="initialPoolSize" value="${one.jdbc.initialPoolSize}" />
<property name="minPoolSize" value="${one.jdbc.minPoolSize}" />
<property name="maxPoolSize" value="${one.jdbc.maxPoolSize}" />
<property name="checkoutTimeout" value="${one.jdbc.checkoutTimeout}" />
<property name="idleConnectionTestPeriod" value="${one.jdbc.idleConnectionTestPeriod}" />
<property name="maxIdleTime" value="${one.jdbc.maxIdleTime}" />
<property name="maxStatements" value="${one.jdbc.maxStatements}" />
<property name="testConnectionOnCheckout" value="${one.jdbc.testConnectionOnCheckout}" />
</bean>
<bean id="dataSourceTwo" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="${two.jdbc.driverClass}" />
<property name="jdbcUrl" value="${two.jdbc.url}" />
<property name="user" value="${two.jdbc.user}" />
<property name="password" value="${two.jdbc.password}" />
<property name="initialPoolSize" value="${two.jdbc.initialPoolSize}" />
<property name="minPoolSize" value="${two.jdbc.minPoolSize}" />
<property name="maxPoolSize" value="${two.jdbc.maxPoolSize}" />
<property name="checkoutTimeout" value="${two.jdbc.checkoutTimeout}" />
<property name="idleConnectionTestPeriod" value="${two.jdbc.idleConnectionTestPeriod}" />
<property name="maxIdleTime" value="${two.jdbc.maxIdleTime}" />
<property name="maxStatements" value="${two.jdbc.maxStatements}" />
<property name="testConnectionOnCheckout" value="${two.jdbc.testConnectionOnCheckout}" />
</bean>
<bean id="dataSourceInterceptor" class="cn.com.dynamic.DataSourceInterceptor" />
<aop:config>
<aop:aspect id="dataSourceAspect" ref="dataSourceInterceptor">
<aop:pointcut id="daoOne"
expression="execution(* cn.com.oneweb.*.*(..))" />
<aop:pointcut id="daoTwo" expression="execution(* cn.com.twoweb.*.*(..))" />
<aop:before pointcut-ref="daoOne" method="setdataSourceOne" />
<aop:before pointcut-ref="daoTwo" method="setdataSourceTwo" />
</aop:aspect>
</aop:config>

<bean id="dataSource" class="cn.com.dynamic.DynamicDataSource">
<property name="targetDataSources">
<map key-type="java.lang.String">
<entry value-ref="dataSourceOne" key="dataSourceOne"></entry>
<entry value-ref="dataSourceTwo" key="dataSourceTwo"></entry>
</map>
</property>
<property name="defaultTargetDataSource" ref="dataSourceOne">
</property>
</bean>
</beans>   
  
  applicationContext-mybatis.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:cache="http://www.springframework.org/schema/cache"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:jms="http://www.springframework.org/schema/jms" xmlns:lang="http://www.springframework.org/schema/lang"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:oxm="http://www.springframework.org/schema/oxm"
xmlns:p="http://www.springframework.org/schema/p" xmlns:task="http://www.springframework.org/schema/task"
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-3.1.xsd   
http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.1.xsd   
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd   
http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd   
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd   
http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-3.1.xsd   
http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-3.1.xsd   
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd   
http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm-3.1.xsd   
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.1.xsd   
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd   
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd">
<!-- 创建SqlSessionFactory,同时指定数据源 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mapperLocations" value="classpath*:cn/com/*/mapper/*.xml" />
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="cn.com.*.dao" />
</bean>
</beans>   
  
  springMVC.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"
xmlns:oxm="http://www.springframework.org/schema/oxm"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm-3.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">
<!-- 激活Spring注解方式:自动扫描,并注入bean -->
<context:component-scan base-package="cn.com.baoy.controller" />

<!-- 配置视图解析 -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="" p:suffix=".jsp">
<property name="order" value="0" />
</bean>
<!-- 默认的注解映射的支持 -->
<mvc:annotation-driven/>


</beans>
  
  
  web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name></display-name>
<!-- welcome page -->
<welcome-file-list>
<welcome-file>/back/jsp/main.jsp</welcome-file>
</welcome-file-list>

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>


<!-- springmvc -->
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springMVC-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>

</web-app>
  
  db-conf.properties

one.jdbc.driverClass=com.mysql.jdbc.Driver
one.jdbc.url=jdbc:mysql://localhost:3306/database?useUnicode=true&characterEncoding=utf-8
one.jdbc.user=root
one.jdbc.password=root
one.jdbc.initialPoolSize=5
one.jdbc.minPoolSize=5
one.jdbc.maxPoolSize=20
one.jdbc.checkoutTimeout=20000
one.jdbc.idleConnectionTestPeriod=120
one.jdbc.maxIdleTime=60
one.jdbc.maxStatements=100
one.jdbc.testConnectionOnCheckout=false

two.jdbc.driverClass=com.mysql.jdbc.Driver
two.jdbc.url=jdbc:mysql://localhost:3306/database2?useUnicode=true&characterEncoding=utf-8
two.jdbc.user=root
two.jdbc.password=root
two.jdbc.initialPoolSize=5
two.jdbc.minPoolSize=5
two.jdbc.maxPoolSize=20
two.jdbc.checkoutTimeout=20000
two.jdbc.idleConnectionTestPeriod=120
two.jdbc.maxIdleTime=60
two.jdbc.maxStatements=100
two.jdbc.testConnectionOnCheckout=false

  
  
  
  
  
页: [1]
查看完整版本: (目前不可以跑通,有数据库的 )mybatis+mysql+springmvc + multidatasource 多数据源