springboot整合mybatis找不到datasource:Failed to determine a suitable driver class

本文讲述Spring Boot整合MyBatis启动报错问题。经排查,问题源于数据源未加载,可能是数据源配置错误、未用自定义sqlSessionFactory、配置文件未加载。最终发现是resource文件非资源类文件及命名问题,将其配置为资源格式并正确命名后问题解决。

springboot整合mybatis启动报错

Description:

Failed to auto-configure a DataSource: 'spring.datasource.url' is not specified and no embedded datasource could be auto-configured.

Reason: Failed to determine a suitable driver class


Action:

Consider the following:
	If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
	If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).

其原因为数据源没有加载进来,在网上查找方法大多数都是讲要添加以下注解

exclude= {DataSourceAutoConfiguration.class}

但是我添加了也没用,后面就想到既然是数据源找不到,可能有几种情况

1、数据源配置错误   --我对照了之前的项目确认无误

2、没有使用自己配置的sqlSessionFactory,而是使用的springboot自带的,导致在连接数据源时出问题,但是如上按照配置后还是不行

3、配置文件没有被加载 ,果然我看了下target目录下没有xml结尾的文件,所以问题基本就确定了,就是打包导致的配置文件丢失

具体是什么原因暂时不清楚,就去网上找解决办法说是要在pom的build里面添加以下配置,可以按照需配置,如果是yml格式就要做相应修改

<resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.xml</include>
                    <include>**/*.properties</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                </includes>
            </resource>
</resources>

按照要求添加后再打包还是不行,不过大部分童鞋在这一步基本上就能搞定了,像我这么坑的除外。。。

那到了这一步仍然没有打包到配置文件,所以我就检查了下是不是上面这个加载的路径有问题,果不其然,发现是我的resource文件有问题

这个resoure文件是不是有点怪怪的,原因就是他不是一个资源类文件,所以maven在打包时就没有打到,解决办法就是到project Structure下将其配置为resource格式

然后再打包

一切ok,问题就出在这儿,这时候可以把前面两步设置的那些注解配置什么的都删掉也没关系了

我这儿还有一个问题,因为这个项目是用一个普通的maven项目手动改造的,并没有使用idea的springboot项目自动生成工具,所以在添加文件时给这个resoure文件的命名缺少一个s,导致了它将其设置成resource资源了不久又会变回成普通文件夹,重命名后就好了

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值