mysql驱动包引发的问题

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

项目中一直使用了mysql-connector-java-5.0.7-bin.jar驱动包,

近来更新成:mysql-connector-java-5.1.7-bin.jar,

在一个关键地方,应用总是报异常,左思右想,我换过包,下面做一些简单测试:

 

 

1、工程使用mysql-connector-java-5.0.7-bin.jar


mysql> select version(); 
+-----------------+ 
| version()       | 
+-----------------+ 
| 5.1.16-beta-log | 
+-----------------+

mysql> select version(); 
+-----------+ 
| version() | 
+-----------+ 
| 5.1.48    | 
+-----------+

 

调用方法: 
getXXMap()

 

调用语句: 
 <select id="getXXMap" resultClass="java.util.HashMap"> 
     select concat(countryId,gender,medalType) as conKey,countryId,gender,medalType,medalCount from tableName 
 </select>

select concat(countryId,gender,medalType) as conKey,countryId,gender,medalType,medalCount from tableName 

 

返回结果

{CHNW3={medalCount=2, countryId=CHN, conKey=CHNW3, gender=W, medalType=3}, NGRM2={medalCount=1, countryId=NGR, conKey=NGRM2, gender=M, medalType=2}, FRAM2={medalCount=1, countryId=FRA, conKey=FRAM2, gender=M, medalType=2}, UZBM3={medalCount=2, countryId=UZB, conKey=UZBM3, gender=M, medalType=3}}

conkey类型:class java.lang.String

两台数据库服务器测试通过,获取数据类型正常。

 

2、工程使用mysql-connector-java-5.1.7-bin.jar

{{[B@1555185={medalCount=2, countryId=RUS, conKey=[B@1555185, gender=W, medalType=1}, [B@1f51e5c={medalCount=2, countryId=BRA, conKey=[B@1f51e5c, gender=M, medalType=3}, [B@1612190={medalCount=1, countryId=FRA, conKey=[B@1612190, gender=M, medalType=3}, [B@df8b14={medalCount=1, countryId=CUB, conKey=[B@df8b14, gender=M, medalType=2}, [B@834cfb={medalCount=3, countryId=CHN, conKey=[B@834cfb, gender=W, medalType=1}, [B@5585dc={medalCount=1, countryId=GER}

 

两台数据库服务器测试通过,但获取数据类型无法识别。

conKey类型:class [B

后记: 
后来使用jdbcTemplate查询 
select concat(countryId,gender,medalType) as conKey,countryId,gender,medalType,medalCount from tableName 
返回结果是: 
{conKey=[B@c713d2, countryId=ARG, gender=M, medalType=1, medalCount=1} 
类型:class [B

可见,依然还是驱动包问题,换成mysql-connector-java-5.0.7-bin.jar即可。

上一步所做的,引发下一步的错误,那么可以怀疑上一步是有问题;如果N久后才发现这个错误,那么这个错误还不一定好找出来,在开发过程中,每一步的测试,还是需要做到位!


本文转自jooben 51CTO博客,原文链接:http://blog.51cto.com/jooben/382632

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
20天前
|
关系型数据库 MySQL Java
【IDEA】java后台操作mysql数据库驱动常见错误解决方案
【IDEA】java后台操作mysql数据库驱动常见错误解决方案
47 0
|
6月前
|
关系型数据库 MySQL 数据库连接
关于MySQL-ODBC的zip包安装方法
关于MySQL-ODBC的zip包安装方法
|
17天前
|
安全 关系型数据库 MySQL
Linux下安装mysql8.0(以tar.xz包安装--编译安装)
通过上述步骤,您完成了从下载、编译、安装到配置MySQL 8.0的全过程。此过程虽然较为复杂,但提供了对MySQL安装环境的完全控制,有助于满足特定的部署需求。在实际操作中,根据具体的系统环境,可能还需调整部分步骤或解决未预见的依赖问题。始终参考官方文档和社区资源,保持安装过程与最新版本的兼容性。
337 67
|
8天前
|
Java 关系型数据库 MySQL
mysql5.7 jdbc驱动
遵循上述步骤,即可在Java项目中高效地集成MySQL 5.7 JDBC驱动,实现数据库的访问与管理。
18 1
|
11天前
|
Java 关系型数据库 MySQL
【编程基础知识】Eclipse连接MySQL 8.0时的JDK版本和驱动问题全解析
本文详细解析了在使用Eclipse连接MySQL 8.0时常见的JDK版本不兼容、驱动类错误和时区设置问题,并提供了清晰的解决方案。通过正确配置JDK版本、选择合适的驱动类和设置时区,确保Java应用能够顺利连接MySQL 8.0。
64 1
|
6月前
|
分布式计算 关系型数据库 MySQL
Sqoop【部署 01】CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
【2月更文挑战第8天】Sqoop CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
221 1
|
5月前
|
关系型数据库 MySQL 数据库
使用ZIP包安装MySQL及配置教程
使用ZIP包安装MySQL及配置教程
280 4
|
4月前
|
XML 关系型数据库 MySQL
支付系统----微信支付19---集成MyBatis-plus,数据库驱动对应的依赖版本设置问题,5没版本没有cj这个依赖,mysql驱动默认的是版本8,这里是一个父类,数据库都有,写个父类,继承就行
支付系统----微信支付19---集成MyBatis-plus,数据库驱动对应的依赖版本设置问题,5没版本没有cj这个依赖,mysql驱动默认的是版本8,这里是一个父类,数据库都有,写个父类,继承就行
|
6月前
|
关系型数据库 MySQL 数据库
实时计算 Flink版操作报错合集之sqlserver mysql都用的胖包,sqlserver的成功了,mysql报这个错如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
232 6
|
5月前
|
关系型数据库 MySQL 数据库
实时计算 Flink版操作报错合集之下载了mysql的cdc的demo,在本地调试时,报错:找不到这个包,该怎么办
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
166 0