Spring整合MyBatis框架HTTP Status 500错误解决方案

Spring整合MyBatis框架HTTP Status 500错误解决方案

源码是黑马SpringMVC教程第三天 ssm整合的小项目
运行后会报500错误
Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
在这里插入图片描述

首先启动项目后,点测试按钮,控制台提示
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: “Too many connections”
可以看出是连接数过多,我们可以在mysql安装目录下的my.ini修改mysql最大连接数

# 设置mysql客户端默认字符集
default-character-set=utf8
 
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\\software\\TOOLS\\MySQL\\mysql-8.0.20-winx64
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=D:\\software\\TOOLS\\MySQL
# 允许最大连接数
max_connections=1000
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

这里是将max_connections修改为了1000,原来居然是20

接下来从控制台的报错信息

java.sql.SQLException: Unknown system variable 'tx_isolation'

可以判断是mysql-connector-java版本太低,在pom.xml将mysql-connector-java依赖的版本改为最新版,即8.0.17

在这里插入图片描述

相应的,在applicationContext.xml中配置连接池的部分也要修改
在这里插入图片描述
主要修改部分是driverClass.
mysql-connector-java 6.0以上的全部从com.mysql.jdbc.Driver改为com.mysql.cj.jdbc.Driver。
除此之外
库的时间与系统的时间不一致,字符集的不同也会导致数据库连接错误
因此要在Url后加上
useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC

总结一下:
1、修改连接数
2、修改JDBC驱动版本
3、修改applicationContext.xml里配置连接池的参数

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值