springboot整合多个mybatis数据源
来源:互联网 发布:自动谱曲软件下载 编辑:程序博客网 时间:2024/06/05 19:51
1.idea,选择mybatis,mysql,web…
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.1</version></dependency>
2.程序启动类加上exclude去掉boot的默认数据源配置;
@SpringBootApplication(exclude = DataSourceAutoConfiguration.class)public class SpringBootMybtais2Application { public static void main(String[] args) { SpringApplication.run(SpringBootMybtais2Application.class, args); }}
3.项目结构如下:
4.application.properties配置如下:
server.port=8081logging.config=./config/logback.xml#==================多个数据源============spring.datasource.test1.url=jdbc:mysql://192.168.10.215:3306/gexin_aus?useUnicode=true&characterEncoding=utf8spring.datasource.test1.username=remotespring.datasource.test1.password=hangzhoumeirispring.datasource.test1.driver-class-name=com.mysql.jdbc.Drivermybatis.test1.typeAliasesPackage=com.pkx.model.test1mybatis.test1.mapperLocations=classpath:mapper.test1/*.xmlspring.datasource.test2.url=jdbc:mysql://192.168.10.41:3308/gexin_dmp_dms?useUnicode=true&characterEncoding=utf8spring.datasource.test2.username=remotespring.datasource.test2.password=hangzhoumeirispring.datasource.test2.driver-class-name=com.mysql.jdbc.Drivermybatis.test2.typeAliasesPackage=com.pkx.model.test2mybatis.test2.mapperLocations=classpath:mapper.test2/*.xml#============== kafka ===================kafka.consumer.zookeeper.connect=192.168.11.2:2181,192.168.10.218:2181kafka.consumer.servers=192.168.10.221:9093kafka.consumer.enable.auto.commit=truekafka.consumer.session.timeout=6000kafka.consumer.auto.commit.interval=100kafka.consumer.auto.offset.reset=latestkafka.consumer.topic=testkafka.consumer.group.id=group-id-testkafka.consumer.concurrency=10kafka.producer.servers=192.168.10.221:9093kafka.producer.retries=0kafka.producer.batch.size=4096kafka.producer.linger=1kafka.producer.buffer.memory=40960
5.controller层代码
controller1
@RequestMapping("user")@RestControllerpublic class GdmpUserController { @Autowired private GdmpUserMapper gdmpUserMapper; @RequestMapping("/list") public List<GdmpUser> listAll() { return gdmpUserMapper.selectByExample(new GdmpUserExample()); }}
controller2
@RequestMapping("account")@RestControllerpublic class AccountController { @Autowired private AccountMapper accountMapper; @RequestMapping("/list") public List<Account> listAll() { return accountMapper.selectByExample(new AccountExample()); }}
==6.数据源的配置类;==
数据源1:先注入数据源,再SqlSessionFactory,再DataSourceTransactionManager事务,再SqlSessionTemplate;
@Configuration@MapperScan(basePackages = "com.pkx.dao.test1", sqlSessionTemplateRef = "test1SqlSessionTemplate")public class DataSource1Config { @Bean(name = "test1DataSource") @ConfigurationProperties(prefix = "spring.datasource.test1") @Primary public DataSource testDataSource() { return DataSourceBuilder.create().build(); } @Bean(name = "test1SqlSessionFactory") @Primary public SqlSessionFactory testSqlSessionFactory(@Qualifier("test1DataSource") DataSource dataSource) throws Exception { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(dataSource); bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:/mapper/test1/*.xml")); return bean.getObject(); } @Bean(name = "test1TransactionManager") @Primary public DataSourceTransactionManager testTransactionManager(@Qualifier("test1DataSource") DataSource dataSource) { return new DataSourceTransactionManager(dataSource); } @Bean(name = "test1SqlSessionTemplate") @Primary public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("test1SqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception { return new SqlSessionTemplate(sqlSessionFactory); }}
数据源2:
@MapperScan注解扫描dao层
@Configuration@MapperScan(basePackages = "com.pkx.dao.test2", sqlSessionTemplateRef = "test2SqlSessionTemplate")public class DataSource2Config { @Bean(name = "test2DataSource") @ConfigurationProperties(prefix = "spring.datasource.test2") public DataSource testDataSource() { return DataSourceBuilder.create().build(); } @Bean(name = "test2SqlSessionFactory") public SqlSessionFactory testSqlSessionFactory(@Qualifier("test2DataSource") DataSource dataSource) throws Exception { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(dataSource); bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:/mapper/test2/*.xml")); return bean.getObject(); } @Bean(name = "test2TransactionManager") public DataSourceTransactionManager testTransactionManager(@Qualifier("test2DataSource") DataSource dataSource) { return new DataSourceTransactionManager(dataSource); } @Bean(name = "test2SqlSessionTemplate") public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("test2SqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception { return new SqlSessionTemplate(sqlSessionFactory); }}
至于model,xml,mapper可以用generator自动生成;
阅读全文
0 0
- springboot整合多个mybatis数据源
- springboot整合mybatis,动态数据源配置
- springmvc 、mybatis整合多个数据源(读写分离)
- springmvc 整合多个数据源
- springboot整合多个activemq
- MyBatis配置多个数据源
- mybatis链接多个数据源
- springboot springjpa 支持多个数据源
- SpringBoot学习:SpringBoot整合mybatis
- SpringBoot MySql Druid配置主从数据源(多个数据源)
- SpringBoot和Mybatis整合
- springboot 整合mybatis
- springboot+mybatis+dubbo整合
- SpringBoot整合MyBatis
- SpringBoot整合Mybatis
- springBoot整合mybatis
- springboot与mybatis整合
- springboot和mybatis整合
- 威尔逊区间
- 购物车4 增删改插
- 最长公共子序列
- Linux命令每日学之PS
- Java 基础知识(整型数据类型)
- springboot整合多个mybatis数据源
- bzoj 3289: Mato的文件管理 莫队+树状数组
- 面向初学者的XCP——XCP协议的通信的构造和功能
- 购物车5 增删查
- mac ssh 免密登录越狱iphone 操作步骤
- android tint着色器(蒙层/阴影等)
- mdk安装遇到的各类奇葩问题
- window.onload和$("document").ready()的区别
- x264编译-yasm开启时make错误,common/x86/const-a.o No such file