上篇文章介绍了springboot+dubbo,本章结合mongoDB,myBatis,数据库,写个test
1:首先引入mybatis,mongoDB的包,用druid数据源
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.39</version> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency>
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.9</version> </dependency>
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> <version>2.0.1.RELEASE</version> </dependency>
2:application.properties新增配置:
##用mysql user从库 uic.spring.datasource.url=jdbc:mysql://ip:port/db_name?useSSL=false uic.spring.datasource.username= uic.spring.datasource.password= uic.spring.datasource.driver-class-name=com.mysql.jdbc.Driver uic.spring.datasource.clusterMapperLocations=classpath*:com/test/cms/dao/model/uic/*.xm
#用mysql order从库 order.spring.datasource.url=jdbc:mysql://ip:port/db_name?useSSL=false order.spring.datasource.username= order.spring.datasource.password= order.spring.datasource.driver-class-name=com.mysql.jdbc.Driver order.spring.datasource.clusterMapperLocations=classpath*:com/test/cms/dao/model/order/*.xml
spring.data.mongodb.uri mongodb://userName:password@ip:port/db_name
3:加载多个数据源:
加载订单从库数据源
package com.test.cms.dao.dataSource; import javax.sql.DataSource; import com.alibaba.druid.pool.DruidDataSource; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.SqlSessionTemplate; import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.jdbc.DataSourceBuilder; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; import org.springframework.core.io.support.PathMatchingResourcePatternResolver; import org.springframework.core.io.support.ResourcePatternResolver; @Configuration @MapperScan(basePackages = { "com.test.cms.dao.mapper.order"}, sqlSessionTemplateRef = "orderSqlSessionTemplate") public class AutoOrderMybatisConfig { @Value("${order.spring.datasource.clusterMapperLocations}") private String orderMapperLocations; /** * 必须加此注解,不然报错,下一个类则不需要添加 * prefix值必须是application.properteis中对应属性的前缀 * @return </