MySQL5.7和MySQL8.0的一些语法差异
(1)远程访问方法不同:
MySQL5.7中
final String CLS = "com.mysql.jdbc.Driver";
MySQL8.0中
final String CLS = "com.mysql.cj.jdbc.Driver";
(2)URL设置
MySQL5.7不需要添加时区信息,而在MySQL8.0中需要添加时区信息,且&需要用&代替,如果要连接云服务器,注意此处的IP地址为公网IP地址
MySQL5.7中
final String URL = "jdbc:mysql://你的IP地址3306/你的数据库";
MySQL8.0中
final String URL ="jdbc:mysql://你的IP地址:3306/你的数据库名?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC%2b8";
其中,时区方面几个可用的时区:UTC%2B8=GMT2B8=Asia=Shanghai=Hongkong,东八区就是北京,北京与上海与香港与亚洲,是等价关系。
北京时间=UTC+8=GMT+8
(3)MySQL8.0报错Default interface methods are only supported starting with Android N (–minapi24):com.mysql.cj.protocol.Messagecom.mysql.cj.interceptors.QueryInterceptor.postProcess(com.mysql.cj.protocol.Message, com.mysql.cj.protocol.Message)
解决方案:在build:gradle(:app)中添加如下代码:
//加上jdk1.8设置能解决 Error: Default interface methods are only supported starting with Android N
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
(4)其他问题暂时没遇到,可对照run中报的错进行查找修改
新手记录自己遇到的问题,大佬勿喷。。。