写点什么

IDEA SpringBoot SQL 连接常见五大异常处理

作者:Yeats_Liao
  • 2022-10-14
    江西
  • 本文字数:1810 字

    阅读完需:约 1 分钟

一、no data sources are configured to run this sql and provide advanced code assistance 警告处理

1.异常错误

  • SpringBoot 项目中.xml 或者.sql 文件调用时报错


No data sources are configured to run this SQL and provide advanced code assistance.
复制代码


2.原因

  • 没有配置任何数据源来运行此 sql 并提供高级代码帮助

  • 意思就是你的项目并未连接到数据库,我们需要做的是连接 SQL

  • 需要手动配置数据库客户端工具来连接 SQL,并且执行命令创建数据表结构

3.解决方法

1.连接 Database


在 IDEA 左下角的小框中,选择Database



在右上角弹出的菜单中,点击+号,添加Data Source中的MySQL



2.配置 Mysql


填写你需要连接数据库的相关信息,Host 本机就为 localhost Port 默认为 3306,确定URL中的库连接



点击Test Connection,显示如下信息,则表示数据库链接成功


二、Loading class `com.mysql.jdbc.Driver'. This is deprecated 警告处理

1.异常错误

  • 数据源配置的驱动出错,启动后如果出现以下错误


Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
复制代码


2.原因

  • MySQL5 用的驱动 url 是 com.mysql.jdbc.Driver

  • MySQL6 以后用的是 com.mysql.cj.jdbc.Driver。

  • 版本不匹配便会报驱动类已过时的错误。

3.解决方法

当配置好数据库后,还需要在 src 下找到application.properties的数据库配置


  • 本机 MySQL 版本 5.7,driver-Class-name选择com.mysql.jdbc.Driver

  • MySQL 时 8.0 以上,选择com.mysql.cj.jdbc.Driver


三、Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually 警告处理

1.异常错误

  • 时区设置错误


Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually
复制代码

2.原因

  • 时区不一致,MySQL 驱动 jar 中的默认时区是 UTC,代表的是全球标准时间

  • 我们使用的时间北京时区是东八区,领先 UTC 八个小时

  • com.mysql.cj.jdbc.Driver是 mysql-connector-java 6 中的特性

  • 相比 mysql-connector-java 5 多了一个时区serverTimezone

3.解决方法


Advanced中将serverTimezone设置成Hongkong或者UTC,然后点击 APPLY



再次尝试 Test Connection 成功连接


四、Failed to configure a DataSource: 'url' attribute is not specified and no embedded 警告处理

1.异常错误

  • url 配置数据源出错,未能确定合适的驱动程序类


Failed to configure a DataSource: 'url' attribute is not specified and no embedded
复制代码

2.原因

  • pom.xml文件中添加了 mybatis 依赖

  • application.properties中没有配置连接数据库的 url、用户名 user 、和密码 password

  • pom.xml文件中添加了有关数据库的依赖时,需要在属性文件中配置连接该库的路径,用户名和密码

3.解决方法

  • application.properties填写相关配置信息,注意 url 连接数据库路径 url=jdbc:mysql://localhost:3306/test 这里的 test 指直接连接的数据库


spring.datasource.url=jdbc:mysql://localhost:3306/testspring.datasource.username=rootspring.datasource.password=xxxxxxxxspring.datasource.driver-class-name=com.mysql.cj.jdbc.Driverserver.port=8004spring.mvc.view.prefix=/WEB-INF/jsp/spring.mvc.view.suffix=.jsp
mybatis.mapper-locations=classpath:mapper/*.xml
复制代码


五、Cause: java.sql.SQLSyntaxErrorException: Table ‘mybatis.users‘ doesn‘t exist 警告处理

1.异常错误

  • 未指定对应的数据库


Cause: java.sql.SQLSyntaxErrorException: Table ‘mybatis.users‘ doesn‘t exist
复制代码

2.原因

  • 出现此问题原因跟四一样,url 配置不正确,导致找不到数据库中相关表

  • 或者是mapper.xml文件中查询条件出错导致


3.解决方法

  • 如果是 url 配置不正确,则参考四的解决方法

  • 如果是查询条件出错,查看语法错误并修改


no data sources are configured to run this sql and provide advanced code assistance 警告处理 Loading class `com.mysql.jdbc.Driver'. This is deprecated 警告处理 Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually 警告处理 Failed to configure a DataSource: ‘url’ attribute is not specified and no embedded 警告处理 Cause: java.sql.SQLSyntaxErrorException: Table ‘mybatis.users‘ doesn‘t exist 警告处理

发布于: 刚刚阅读数: 4
用户头像

Yeats_Liao

关注

还未添加个人签名 2022-10-02 加入

还未添加个人简介

评论

发布
暂无评论
IDEA SpringBoot SQL连接常见五大异常处理_后端_Yeats_Liao_InfoQ写作社区