javaSE图书管理系统遇到的有关mysql方面问题总结

版权声明:本文为博主原创文章,若需要引用或转载,请注明原文链接。 https://blog.csdn.net/qq_39209492/article/details/88773407

项目源码加上数据表加上mysql-connection连接包8版本已上传至百度网盘:链接:https://pan.baidu.com/s/1EMGUFwIqW8SkRojxVWYt2w 
提取码:r93q  需要的自取!

源头:最近想回温下javaSE基础,就找了个之前大二未完善的项目来做,本以为一帆风顺,却是一波三折!

说明:该上传项目于2019年3月23日测试是可以运行的(当然了,有不少警告,如果有强迫症的可以自行解决,不影响项目运行),这篇文章不是来说明代码的实现流程,如何采取瀑布模式来进行需求分析,设计,编码,而是想和大家分享下项目本身没有问题由于mysql一些东西导致无法运行的一些经验!(该项目原型来源于开源社区,本人只是改了一部分,相当于站在巨人肩膀上,特此说明,尊重开源!

项目具体功能图:

1.登陆界面

2系统主界面

3.读者信息添加

4.读者信息删除修改

5.图书类别添加

6.图书类别修改

7.图书信息添加

8.图书信息修改

9.新的图书订购

10.对添加的图书进行验收

11.图书借阅

12.图书归还

13.图书搜索(由于mysql连接jar包或者mysql版本不同,条件查询很有可能异常,有代码强迫症的童鞋请自调试

14.更改系统管理员密码

15.添加普通用户

16.对普通用户进行修改删除

以上是图书管理系统的基本功能,但是如果有些问题没解决,是进不去系统主界面的。


下面说下我遇到的问题:(前提说明本电脑使用的mysql版本为8.0版本)

1>此时我导入的是下载下来的时候的mysq连接包,版本为3.1

异常信息为:java.sql.SQLException:Unknown character set index for field '225'received from server.

百度了好久,中间看过了不少误人子弟的文章,最后找到了解决方案:

然后我去maven里面找到了mysql连接包的最高版本,下了一个8系列的jar包,替换3版本的,然后继续运行 。

又出现问题了。

首先抛出了一个驱动类不对的问题,具体看图

大概就是说8系列的驱动是com.mysql.cj.jdbc.Driver而不是com.mysql.jdbc.Driver

修改DAOl里面的驱动为8系列的,继续运行,又出错了

见图:

异常类是java.sql.SQLExcepion,具体错误为: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.

百度了下原因为:出现这个的原因是因为 mysql返回的时间总是有问题,比实际时间要早8小时

解决方案为:在jdbc连接的url后面加上serverTimezone=GMT即可解决问题,如果需要使用gmt+8时区,需要写成GMT%2B8

也就是在DAO层将url数据库后面追加些条件,见代码:

protected static String dbUrl = "jdbc:mysql://localhost:3306/db_library?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false";

解决完了之后就可以愉快的使用了!(悄咪咪的说一句,这代码还是可以的,具有一定的参考价值,希望对大家有帮助!)

 

 

猜你喜欢

转载自blog.csdn.net/qq_39209492/article/details/88773407