spring jpa+mysql 启动异常 More than one table found in namespace (, )

IT小君   2021-01-30T12:31:37

原因:

使用了高版本MySQL驱动

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>6.0.6</version>
        </dependency>

mysql-connector-java在 6.x 版本驱动的时候就将参数 nullCatalogMeansCurrent 的默认值由 true 改为了 false

这个参数的意思是:是否默认返回 datasource 指定库的表。也就是如果为 true,那么就从我们指定的数据库中找表;如果为 false,那么就从所有库中找表。


解决方案我这里总结了两种:

  1. 将 MySQL 驱动 8.0 版本的降低到 5.x 版本;

  2. 初始化连接的时候,为 nullCatalogMeansCurrent 参数指定为 true

  3. jdbc.url=jdbc:mysql:///sys?useUnicode=true&characterEncoding=UTF-8&nullCatalogMeansCurrent=true


点击广告,支持我们为你提供更好的服务
评论(0)