【 使用环境 】 测试环境
【 OB or 其他组件 】OB
【 使用版本 】4.2.1.7
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】ob官方驱动连接ob报错
2025-04-15T08:49:56.187254191+08:00 Caused by: java.lang.ClassCastException: com.sun.proxy.$Proxy310 cannot be cast to com.oceanbase.jdbc.internal.protocol.MasterProtocol
2025-04-15T08:49:56.187256911+08:00 at com.oceanbase.jdbc.JDBC4PreparedStatement.executeInternal(JDBC4PreparedStatement.java:244)
2025-04-15T08:49:56.187259311+08:00 at com.oceanbase.jdbc.JDBC4PreparedStatement.execute(JDBC4PreparedStatement.java:177)
2025-04-15T08:49:56.187261691+08:00 at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3446)
2025-04-15T08:49:56.187266291+08:00 at com.alibaba.druid.filter.FilterEventAdapter.preparedStatement_execute(FilterEventAdapter.java:434)
2025-04-15T08:49:56.187268621+08:00 at com.alibaba.druid.filter.FilterChainImpl.preparedStatement_execute(FilterChainImpl.java:3444)
2025-04-15T08:49:56.187271111+08:00 at com.alibaba.druid.proxy.jdbc.PreparedStatementProxyImpl.execute(PreparedStatementProxyImpl.java:152)
2025-04-15T08:49:56.187273481+08:00 at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:483)
2025-04-15T08:49:56.187275931+08:00 … 51 common frames omitted
select dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark
from pm_pc_sys_dict_data
where status = '0' and dict_type = ?
order by dict_sort asc
该查询在设置参数时发生了异常。
异常堆栈信息:
根据堆栈信息,com.sun.proxy.$Proxy310 cannot be cast to com.oceanbase.jdbc.internal.protocol.MasterProtocol 表明客户端与服务器之间的协议通信存在问题。
select dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark
from pm_pc_sys_dict_data
where status = '0' and dict_type = 'sys_user_sex'
order by dict_sort asc;
如果查询失败,请检查表结构是否符合预期,例如字段是否存在、数据类型是否匹配等。
3. 检查 MyBatis 参数绑定
确保 MyBatis 映射文件中的参数绑定正确。例如,dict_type 参数应为字符串类型。
示例 MyBatis 映射文件片段:
<select id="selectDictDataByType" parameterType="string" resultType="DictData">
SELECT dict_code, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, status, create_by, create_time, remark
FROM pm_pc_sys_dict_data
WHERE status = '0' AND dict_type = #{dictType}
ORDER BY dict_sort ASC
</select>