springboot+Mybatis多数据源配置问题,求大神进来帮我解答。

别卷了啊 2018-11-27 06:07:22
如图所示我的properties配置,然后我的数据源配置类,我照网上的配了一个主一个从,在启动类中假如没有图中这个注解就报,加上这个注解后就报这个错,有谁遇到过这个问题吗,接下来几楼我会上传数据源配置类的代码,和controller的代码。
...全文
257 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
过奖了! springboot的约定大于配置而已。
别卷了啊 2018-11-28
  • 打赏
  • 举报
回复
大佬,66666666,解决了,大佬大佬!!!
  • 打赏
  • 举报
回复
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` 是一个用来深度学习并实战 `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`)。

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧