Mapper代理开发过程中
我遇到了这样的问题,配置之后无法正常显示,提示我UserMapper里面有错误,
其实就是没有允许客户端从服务器获取公钥
解决办法:
直接在url后面加上这句话,url在 xxx-config.xml中
jdbc:mysql://localhost:3306/数据库名称?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
useSSL=false 意思是:
默认值为true,至于为什么使用false,个人理解默认为true的话,会使用SSL认证安全性较高,但是跨平台操作,比如使用linux时可能会出现问题,所以大多数会使用false,通过账号密码进行连接
useUnicode=true&characterEncoding=utf-8 意思是:
mysql数据库用的是gbk编码,而项目的mysql数据库需要的是utf-8编码,所以在url后面添加useUnicode=true&characterEncoding=utf-8",表示在往数据库中存数据时会用UTF-8的格式将数据解码为字节码,然后再将解码后的字节码重新使用GBK编码存放到数据库中。从数据库中取数据时,会将数据按GBK格式解码为字节码,然后再将字节码重新按照UTF-8格式编码数据返回给客户端
serverTimezone=Asia/Shanghai 意思是:
设置服务器的时区为亚洲/上海的时区
allowPublicKeyRetrieval=true 意思是:
允许客户端从服务器获取公钥