社区
Web 开发
帖子详情
springboot+Mybatis多数据源配置问题,求大神进来帮我解答。
别卷了啊
2018-11-27 06:07:22
如图所示我的properties配置
,然后我的数据源配置类,我照网上的配了一个主一个从,在启动类中假如没有图中这个注解
就报
,加上这个注解后就报
这个错,有谁遇到过这个问题吗,接下来几楼我会上传数据源配置类的代码,和controller的代码。
...全文
257
6
打赏
收藏
springboot+Mybatis多数据源配置问题,求大神进来帮我解答。
如图所示我的properties配置,然后我的数据源配置类,我照网上的配了一个主一个从,在启动类中假如没有图中这个注解就报,加上这个注解后就报这个错,有谁遇到过这个问题吗,接下来几楼我会上传数据源配置类的代码,和controller的代码。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
爱码少年 00fly.online
2018-11-28
打赏
举报
回复
过奖了!
springboot的约定大于配置而已。
别卷了啊
2018-11-28
打赏
举报
回复
大佬,66666666,解决了,大佬大佬!!!
爱码少年 00fly.online
2018-11-28
打赏
举报
回复
config bean 扫描到了吗, Test31Application启动类加上注解 @ComponentScan(basePackages = {"com.smartwater"}) 或者挪到com.smartwater试试
别卷了啊
2018-11-27
打赏
举报
回复
这是controller类 package com.smartwater.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.smartwater.dao.OracleMapper.ScadeOracleMapper; import com.smartwater.entity.ScadeOracle; /** * Created by oneclicklabs.io */ @RestController @RequestMapping("/index") public class OracleController { @Autowired private ScadeOracleMapper app; @GetMapping("/getAll") public List<ScadeOracle> getAll(){ return app.selectAll(); } }
别卷了啊
2018-11-27
打赏
举报
回复
这是从数据源配置类 package com.smartwater.config; import javax.sql.DataSource; 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.boot.autoconfigure.jdbc.DataSourceBuilder; import org.springframework.boot.context.properties.ConfigurationProperties; 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.jdbc.datasource.DataSourceTransactionManager; /** * SqlServer主库配置类 * @日期: 2018年11月27日 下午5:05:25 * @作者: zc */ @Configuration @MapperScan(basePackages = "com.smartwater.dao.SqlServerMapper",sqlSessionTemplateRef = "masterSqlSessionTemplate") public class DataSourceSqlServerConfig { /** * 创建数据源 *@return DataSource */ @Bean(name = "masterDataSource") @ConfigurationProperties(prefix = "spring.datasource.test2") @Primary public DataSource masterDataSource() { return DataSourceBuilder.create().build(); } /** * 创建工厂 *@param dataSource *@throws Exception *@return SqlSessionFactory */ @Bean(name = "masterSqlSessionFactory") @Primary public SqlSessionFactory masterSqlSessionFactory(@Qualifier("masterDataSource") DataSource dataSource) throws Exception { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(dataSource); bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:com/smartwater/dao/mysql/*.xml")); return bean.getObject(); } /** * 创建事务 *@param dataSource *@return DataSourceTransactionManager */ @Bean(name = "masterTransactionManager") @Primary public DataSourceTransactionManager masterDataSourceTransactionManager(@Qualifier("masterDataSource") DataSource dataSource) { return new DataSourceTransactionManager(dataSource); } /** * 创建模板 *@param sqlSessionFactory *@return SqlSessionTemplate */ @Bean(name = "masterSqlSessionTemplate") @Primary public SqlSessionTemplate masterSqlSessionTemplate(@Qualifier("masterSqlSessionFactory") SqlSessionFactory sqlSessionFactory) { return new SqlSessionTemplate(sqlSessionFactory); } }
别卷了啊
2018-11-27
打赏
举报
回复
这是数据源配置主类 package com.smartwater.config; import javax.sql.DataSource; 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.boot.autoconfigure.jdbc.DataSourceBuilder; import org.springframework.boot.context.properties.ConfigurationProperties; 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.jdbc.datasource.DataSourceTransactionManager; /** * Oracle从库配置类 * @日期: 2018年11月27日 下午5:05:25 * @作者: zc */ @Configuration @MapperScan(basePackages = "com.smartwater.dao.OracleMapper",sqlSessionTemplateRef = "clusterSqlSessionTemplate") public class DataSourceOracleConfig { /** * 创建数据源 *@return DataSource */ @Bean(name = "clusterDataSource") @ConfigurationProperties(prefix = "spring.datasource.cluster") public DataSource masterDataSource() { return DataSourceBuilder.create().build(); } /** * 创建工厂 *@param dataSource *@throws Exception *@return SqlSessionFactory */ @Bean(name = "clusterSqlSessionFactory") public SqlSessionFactory masterSqlSessionFactory(@Qualifier("clusterDataSource") DataSource dataSource) throws Exception { SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(dataSource); bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/cluster/*.xml")); return bean.getObject(); } /** * 创建事务 *@param dataSource *@return DataSourceTransactionManager */ @Bean(name = "clusterTransactionManager") public DataSourceTransactionManager masterDataSourceTransactionManager(@Qualifier("clusterDataSource") DataSource dataSource) { return new DataSourceTransactionManager(dataSource); } /** * 创建模板 *@param sqlSessionFactory *@return SqlSessionTemplate */ @Bean(name = "clusterSqlSessionTemplate") public SqlSessionTemplate masterSqlSessionTemplate(@Qualifier("clusterSqlSessionFactory") SqlSessionFactory sqlSessionFactory) { return new SqlSessionTemplate(sqlSessionFactory); } }
spring boot集成demo大全.zip
`spring boot demo` 是一个用来深度学习并实战 `spring boot` 的项目,目前总共包含 **`63`** 个集成demo,已经完成 **`51`** 个。 该项目已成功集成 actuator(`监控`)、admin(`可视化监控`)、logback(`日志`)、aopLog(`通过AOP记录web请
求
日志`)、统一异常处理(`json级别和页面级别`)、freemarker(`模板引擎`)、thymeleaf(`模板引擎`)、Beetl(`模板引擎`)、Enjoy(`模板引擎`)、JdbcTemplate(`通用JDBC操作
数据
库`)、JPA(`强大的ORM框架`)、
mybatis
(`强大的ORM框架`)、通用Mapper(`快速操作
Mybatis
`)、PageHelper(`通用的
Mybatis
分页插件`)、
mybatis
-plus(`快速操作
Mybatis
`)、BeetlSQL(`强大的ORM框架`)、upload(`本地文件上传和七牛云文件上传`)、redis(`缓存`)、ehcache(`缓存`)、email(`发送各种类型邮件`)、task(`基础定时任务`)、quartz(`动态管理定时任务`)、xxl-job(`分布式定时任务`)、swagger(`API接口管理测试`)、security(`基于RBAC的动态权限认证`)、SpringSession(`Session共享`)、Zookeeper(`结合AOP实现分布式锁`)、RabbitMQ(`消息队列`)、Kafka(`消息队列`)、websocket(`服务端推送监控服务器运行信息`)、socket.io(`聊天室`)、ureport2(`中国式报表`)、打包成`war`文件、集成 ElasticSearch(`基本操作和高级查询`)、Async(`异步任务`)、集成Dubbo(`采用官方的starter`)、MongoDB(`文档
数据
库`)、neo4j(`图
数据
库`)、docker(`容器化`)、`JPA多
数据
源
`、`
Mybatis
多
数据
源
`、`代码生成器`、GrayLog(`日志收集`)、JustAuth(`第三方登录`)、LDAP(`增删改查`)、`动态添加/切换
数据
源
`、单机限流(`AOP + Guava RateLimiter`)、ElasticSearch 7.x(`使用官方 Rest High Level Client`)。
利用IDEA 搭建
springboot
+
mybatis
+redis+lombok
利用IDEA 搭建
springboot
+
mybatis
+redis+lombok
springboot
+
mybatis
+redis+lombok 框架搭建 前言: 最近学习了
springboot
+redis相关知识,利用闲暇时间搭建一个
springboot
+
mybatis
+redis+lombok集合起来的一个框架,希望大家可以多多指教。 开发工具:IDEA 必备条件: 1.java工...
SpringBoot
+
Mybatis
(Mysql/PostgreSQL)多
数据
源
实战详解
前言 由于项目中需要使用到多个
数据
库进行
数据
验证,所以一开始在网上找了很多资料,但是大部分都是有关
SpringBoot
+ JPA的多
数据
源
整合。之后找到了微笑大
神
的一篇blog,在这里感谢微笑大
神
,参考博客请看这里 预先说明 在整合多
数据
源
时,两个或两个以上,一定得定好一个主
数据
源
,不然会报错,比如:事物方面会报错。 @Primary:
SpringBoot
自动装配时,当出现多个Bean候选...
SpringBoot
+
Mybatis
+Druid动态多
数据
源
背景 前两天突然想起了,咕泡老师写的
源
代码中有关于多
数据
源
的实现。翻出来看了看,想移植到
springboot
里面去,可是移动过去,不起作用,而后又百度了些大
神
做法,还是不起作用,故自己研究了一番,最终实现了
mybatis
的动态
数据
源
。水平有限,还请大佬轻喷,希望能和各位大佬多多交流。
配置
多
数据
源
application.yml
配置
: # spring: datasource: ty...
springboot
+
mybatis
多
数据
源
配置
随着应用用户数量的增加,相应的并发请
求
的数量也会跟着不断增加,慢慢地,单个
数据
库已经没有办法满足我们频繁的
数据
库操作请
求
了,在某些场景下,我们可能会需要
配置
多个
数据
源
,使用多个
数据
源
(例如实现
数据
库的读写分离)来缓解系统的压力等,同样的,
Springboot
官方提供了相应的实现来
帮
助开发者们
配置
多
数据
源
,一般分为两种方式(目前我所了解到的),分包和AOP,其中利用AOP实现多个
数据
源
到的动态切换时候会另开一篇文章来写。
Web 开发
81,095
社区成员
341,711
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章