首页 > 解决方案 > com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure ,关于mybatis

问题描述

我用的是java的mybatis,实现了接口IBaseBusinessQuery,映射文件设置方法->T findOne(K var1)。

我怀疑变量名的原因,所以,我重写了这个方法-> @Override T_Permission findOne(String key);,但是,结果是这样的。

实现的接口

public interface IBaseBusinessQuery<T, K> {
    T findOne(K var1);

    List<T> findAll();
}

道层

@Repository("permissionDao")
public interface PermissionDao extends IBaseDao<T_Permission, String>, IBaseBusinessQuery<T_Permission,String> {
}

dao层修改后


@Repository("permissionDao")
public interface PermissionDao extends IBaseDao<T_Permission, String>, IBaseBusinessQuery<T_Permission,String> {

    @Override
    T_Permission findOne(String key);
}

mybatis 映射文件

  <select id="findOne" resultType="T_Permission">
        select * from t_permission where `ps_id` = #{key}
    </select>

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 从服务器成功接收到的最后一个数据包是 6,464 毫秒前。最后一个成功发送到服务器的数据包是在 22 毫秒前。

标签: javamysqljdbcmybatis

解决方案


数据库版本可能有影响。对我来说,当 mysql 版本是 5.1.14 时,错误就像你的一样。但是我把mysql版本改成8.0.17,所有问题都解决了!


推荐阅读