SpringBoot + mybatis + mysql8.0.11 构建项目

2023-11-02

  前几天在阐释使用mysql8.0.11,刚解决第三方工具链接没数据库的问题,然后兴高采烈的去搭建项目,进行使用,然后又是一种一种的问题冒出,具体出现的问题,以及相关的解决方式如下,主要是在建立链接的时候一些配置参数的问题。

  本人使用的是Intellij idea进行框架的搭建,关于如何使用Intellij idea整合SpringBoot + mybatis可以自行百度,也可以参照  https://www.cnblogs.com/hackyo/p/7246541.html。文章中使用的是application.yml配置文件,进行配置,我使用的是application.properties配置文件进行配置,相差不大,初始配置文件为:

#数据源配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/snow?characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root

  这只是简单的数据源配置,这边需要注意的是,MYSQL8.0.11的驱动为 :com.mysql.cj.jdbc.Driver,所以需要再pom文件中,添加jar包依赖:

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

  配置完成,然后就浏览器访问,然后出现了异常:

org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; 
nestedexception is java.sql.SQLException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone.
You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.] with root cause

  查找原因,好像是因为时区的问题,引起的,这里有两个解决方式,

  第一 :将 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/snow?characterEncoding=UTF-8  改为: spring.datasource.url=jdbc:mysql://127.0.0.1:3306/snow?characterEncoding=UTF-8&serverTimezone=GMT%2B8

  第二:在数据库中操作:

show variables like '%time_zone%'
set global time_zone='+8:00';

  先查询数据库的时区,然后在设置为东八区,这里使用的是中国的时区时间

  修改完之后,再次浏览器访问,哎呀,可以获得相关的记过了,但是,在程序的后台,出现了如下的警告:

Establishing SSL connection without server's identity verification is not recommended. 
According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set.
For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'.
You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

  虽然是警告,不过看起来还是不是很好看,这个时候就需要在

  spring.datasource.url 的值后边添加 &useSSL=false,这样就可以进行正常使用了。

  不过有的时候也会出现:

org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed] with root cause

  这样需要在:spring.datasource.url 的值后边添加 &allowPublicKeyRetrieval=true。

  出现这个异常是我将参数 spring.datasource.username 写成了 spring.datasource.name ,然后出现的异常,改过来之后就不再出现这样的异常。如果有朋友出现了这样的异常,可以使用这种方式进行操作;

  同时,当我使用spring.datasource.name时,即使加上了 &allowPublicKeyRetrieval=true。依然后出现这样的异常:

java.sql.SQLException: Access denied for user ''@'localhost' (using password: YES)

  这是一个用户权限的问题,因为springboot在读取参数的时候,读取的是spring.datasource.username的值,由于我没有配置,所以得的是空字符串,而我们并没有添加空字符串用户,所以出现权限问题,如果其他朋友出现了这样的异常,就需要修改你用户的权限了。

  所以在使用的时候,最终的参数配置为:spring.datasource.url=jdbc:mysql://127.0.0.1:3306/snow?characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false,这样就可以正常使用

如果为了保险起见,也是可以写成:spring.datasource.url=jdbc:mysql://127.0.0.1:3306/snow?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true,

然后又有朋友会发现中间还多了一个useUnicode=true,网上有朋友说缺少了这个也是会出现异常的,不过我这边到没有出现,如果有朋友因为缺少这个参数出现了异常,可以回复给我,谢谢。

转载于:https://www.cnblogs.com/icesnow521/p/9402780.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SpringBoot + mybatis + mysql8.0.11 构建项目 的相关文章

随机推荐

  • 分治策略时间复杂度分析(一)-用代入法求解递归式

    分治策略时间复杂度分析 一 用代入法求解递归式 分治策略是算法中的一种重要的思想 比如归并排序就是用到了分治的策略 在分治策略中我们递归地求解一个问题 在每一层递归中都应用三个步骤 1 分解 2 解决 3 合并 文章目录 分治策略时间复杂度
  • Qt Creator创建项目后报错‘./ui_xx.h‘ file not found

    错误提示如图 错误原因 创建项目时勾选了形成xx ui文件 此ui文件在构建项目后产生 故在没有构建项目前报错属于正常 解决办法 构建项目后关闭再重新打开文件 提示即消失
  • 2023年江西省赣州市技能大赛 网络安全竞赛试题任务书

    2023年江西省赣州市技能大赛 网络安全竞赛试题任务书 A模块基础设施设置 安全加固 200分 A 1任务一 登录安全加固 A 2任务二 本地安全策略设置 A 3任务三 流量完整性保护 A 4任务四 事件监控 A 5任务五 服务加固 B模块
  • Vmware16 下载与安装

    Vmware16 下载与安装 vmware16 密钥 ZF3R0 FHED2 M80TY 8QYGC NPKYF YF390 0HF8P M81RQ 2DXQE M2UT6 ZF71R DMX85 08DQY 8YMNC PPHV8 Vmw
  • tshark解析本地pcap数据包提取五元组{src_ip,src_port,proto,dst_ip,dst_port}与时间戳,包长

    tshark官方文档 https www wireshark org docs man pages tshark html wireshark官方特征参考 https www wireshark org docs dfref 前提需要安装w
  • 利用递归求斐波那契数列

    斐波那契额是二级递推数列 从第三项起 每项为前两项的和 利用函数的递归可以很好实现 只需每次返回n 1 和 n 2 即可 上代码 define CRT SECURE NO WARNINGS 1 include
  • C#使用多线程并发之异步委托

    阻塞式编程 我们一边编写的代码都是同步代码 也就是从上到下按照顺序执行 例如 public delegate void DoWorkHandler class Program static void Main string args Con
  • vsflexgrid单元格换行后自动使用行高_大咖分享办公秘籍:Word和Excel换行

    我们在日常办公和学习中 对文档进行整理和粘贴数据的过程中 经常会用到的就是换行功能了 那么怎么实现自动换行呢 下面 就由非凡学院商务办公培训专业的付老师 和大家分享一下在Word和Excel中简单的实现过程 赶紧来看看和学习一下吧 1 硬回
  • 虚拟机网络配置、防火墙、克隆

    一 修改虚拟机的网络配置 在虚拟机开启的情况下配置 选中虚拟机hadoop100 编辑 虚拟网络编辑器 更改设置 NAT模式 NAT设置 网关改为192 168 1 2 连点两次确定 二 修改windows的网络配置 1 点击电脑右下角的网
  • 华为OD机试 - 靠谱的车 - 逻辑分析(Java 2023 B卷 100分)

    目录 专栏导读 一 题目描述 二 输入描述 三 输出描述 四 解题思路 五 Java算法源码 六 效果展示 1 输入 2 输出 3 说明 华为OD机试 2023B卷题库疯狂收录中 刷题点这里 专栏导读 本专栏收录于 华为OD机试 JAVA
  • DBeaver报Public Key Retrieval is not allowed 错误

    解决方法 1 选择报错的链接 按F4 出现编辑链接弹窗 切换到驱动属性标签页 2 修改allowPublicKeyRetrieval属性的值为TRUE 3 重启DBeaber
  • Git+TortoiseGit详细安装教程(HTTP方式)

    Git是核心 TortoiseGit是个外壳 git需要使用命令行 可以简单理解为TortoiseGit是git的GUI展现形式 使用TortoiseGit操作 就不用记住git命令了 Git可以使用HTTP和SSH方式 HTTP方式配置更
  • 素数筛

    素数又称质数 是指除了1和它本身 再也没有其他的因子 合数是除了1和它本身以外 还有其他的因子 1既不是素数也不是合数 此题为洛谷上的一道题 以此题为例题 讲解素数筛 埃氏筛法 时间复杂度O nlogn 得分 80 include
  • html比较字符数字大小,JavaScript怎么比较字符串?

    javascript怎么比较字符串 下面本篇文章就来给大家介绍使用javascript比较字符串的几种方法 希望对大家有所帮助 一 大于 gt 小于 javascript字符串在进行大于 小于 比较时 会根据第一个不同的字符的ascii值码
  • 预训练模型、迁移学习

    预训练模型把迁移学习很好地用起来了 让我们感到眼前一亮 这和小孩子读书一样 一开始语文 数学 化学都学 读书 网上游戏等 在脑子里积攒了很多 当他学习计算机时 实际上把他以前学到的所有知识都带进去了 如果他以前没上过中学 没上过小学 突然学
  • linux 查看文件个数

    要查看 Linux 系统中某个目录下的文件数量 可以使用 ls 命令结合管道和 wc 命令来完成 具体来说 可以使用 ls 命令的 l 参数来列出目录中的文件和子目录的详细信息 然后将输出结果通过管道 传递给 wc 命令 使用 l 参数来统
  • sort()函数与qsort()函数及其头文件

    sort 函数是C 中的排序函数其头文件为 include
  • vscode路径别名文件跳转解决办法

    第一步 下载 1 在jsconfig json中配置 compilerOptions target es5 module esnext baseUrl moduleResolution node paths src lib esnext d
  • Code Llama: Open Foundation Models for Code

    Paper name Code Llama Open Foundation Models for Code Paper Reading Note Paper URL https ai meta com research publicatio
  • SpringBoot + mybatis + mysql8.0.11 构建项目

    前几天在阐释使用mysql8 0 11 刚解决第三方工具链接没数据库的问题 然后兴高采烈的去搭建项目 进行使用 然后又是一种一种的问题冒出 具体出现的问题 以及相关的解决方式如下 主要是在建立链接的时候一些配置参数的问题 本人使用的是Int