在进行mybatisplus实现自动生成代码操作数据库时,发现报以下错误:
java.lang.Object.wait(Native Method)
java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:40)
2021-04-29 18:40:26.192 INFO 31148 --- [ main] ConditionEvaluationReportLoggingListener :
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2021-04-29 18:40:26.197 ERROR 31148 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be 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).
下面是我怀疑出问题的地方
看到报错信息,还以为是url路径写错了,就是application.yml中关于mapper的xml文件
但是检查之后才发现不是上面的问题,而是我的application.yml写到了mapper包下,其实应该是在resource目录下
SpringBoot使用了一个全局的配置文件application.properties,放在src/main/resources目录下或者类路径的/config下,SpringBoot的全局配置文件的作用是对一些默认配置的配置值进行修改
自己也可以使用自定义配置文件(test.properties),路径也同样放在src/main/resources下面
在新建的Bean类上,需要添加@Configuration和@PropertySource(“classpath:test.properties”)后才可以读取
配置文件的优先级
application.properties和application.yml文件可以放在一个四个位置:
- 外置,在相对于应用程序运行目录的/config子目录里
- 外置,在应用程序运行的目录里
- 内置,在config包内
- 内置,在Classpath根目录
也就是说,src/main/resources/config下application.properties覆盖src/main/resources下application.properties中相同的属性
此外,如果你在相同优先级位置同时有application.properties和application.yml,那么application.yml里面的属性就会覆盖application.properties里的属性。