springboot使用mysql+jpa不能自动生成数据库表

由于刚刚开始搭建spring boot+spring cloud框架,先从spring cloud的eureka  client注册开始的,当时在pom中引入了jpa的资源文件,而并没有使用到jpa(yml/properties文件没有进行配置)所以会报错,出现

Cannot determine embedded database driver class for database type NONE

解决办法一、

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class})
@EnableEurekaClient
public class SonApplication {

	public static void main(String[] args) {
		SpringApplication.run(SonApplication.class, args);
	}
}

解决办法二、(推荐使用)

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-jpa</artifactId>
		</dependency>

将其注释掉。

由于使用的第一种解决方法,后面的问题就出现了,由于隔了很久后进行的jpa+mysql的使用,忘记将exclude给去掉了,导致在使用jpa+mysql的时候,配置完成后启动项目并没有生效。

之后新建了一个项目daughter来测试,将son的配置文件全部粘贴过去,启动项目,发现能正常运行,这次头彻底大了,不知道是为什么了,找了很久最终点开了SonApplication这个文件,才发现没有将exclude给去掉(发现这个问题真的很小白,自己挖的坑自己花费时间来填)。


总结:在开发springboot的时候,切忌pom文件要导入当前步骤能用的到的,因为如果导入pom文件而没给其做配置的话就会报错,当解决这个问题后,如果后面又给项目做相应配置,而没有将上一个问题解决报错的地方去掉的话,很有可能当前的配置会不起作用。说的有点绕口,如有不对的地方还请指正并加以评论。


猜你喜欢

转载自blog.csdn.net/qq_35221138/article/details/81031161