关于ssm项目搭建——Druid+Mysql+Mybatis

Druid+Mysql+Mybatis

遇到了不少小问题,共享出来,也便于自己记忆

  1. 版本问题

笔者版本说明:

  • mysql:mysql-8.0.13-winx64
  • Druid:druid-1.0.9.jar
  • mysql_connector:mysql-connector-java-5.1.47.jar
  • 链接Url:jdbc.url=jdbc:mysql://localhost:3306/crm?characterEncoding=utf-8&serverTimezone=GMT%2B8

版本问题都是在替换mysql_connector

起初,使用了较低版本(1.*.*)的connector,未知原因(未弄清楚)导致Druid重复建立与mysql连接,导致mysql连接数过载,navicat也无法建立连接,百度查文,说是mysql默认连接数太少(默认max_connections=200),需要修改为大值,(事实上,在学习阶段的开发,默认的连接数已经够了,其实是别的问题),尝试修改无果,发现tomcat报了很多异常,只有两种,第一种为create connection holder error java.sql.SQLException: Unknown system variable"。。。" Druid重复尝试连接消耗了所有的mysql连接数,之后报了第二种异常为“too many connections”,前期由于目光短浅一直纠结于控制台打印出的第二种异常,配置mysql最大连接数后无果没有办法  才静下心思考,才在控制台往上翻,发现第一种首要的异常,(经验:异常要从第一个开始解决,目光要长,要静下心思考才是解决问题的途径)依然百度后了解到版本问题(mysql版本太高而连接器版本过低,具体没有细究),进入第二阶段,倒腾版本。

因为MySQL版本较高,笔者直接去官网下载了最高的8.0版本连接器,第二阶段错误来了,首先是报了 time_zone 异常,于是在mysql连接url添加了参数(serverTimezone=GMT%2B8),紧接着第二个异常,invalid connection,(无效链接?欸,没有深入原理的学习就是这么悲哀)继续百度,连接器驱动jar包版本问题。。。

第三阶段,这是在网上看了文档,直接去github的Druid主页看pom文件里的连接器版本,替换,到此成功

  1. MyBatis映射pojo问题

在写pojo时写了带参构造器,但没有写默认构造器,于是mybatis报了一个,找不到 type或value方法

  1. Mysql连接问题
发布了17 篇原创文章 · 获赞 1 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/TowerOs/article/details/84993494