今天部署项目的时候顺便把一些依赖用新版本的jar替换了,其他还好就是MYSQL的驱动出了问题。
原来用的是5.1.5的包,替换成5.1.17之后,如下生成主键的代码都会报错:
- ps = getConnection().prepareStatement(sql.toString());
- ....
- rs = ps.getGeneratedKeys();
Generated keys not requested. You need to specify Statement.RETURN_GENERATED_KEYS to Statement.executeUpdate() or Connection.prepareStatement().
据说要修改成这样才不会报错:
- ps = getConnection().prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
- ...
- rs = ps.getGeneratedKeys();
原因是:貌似从5.1.7版本之后的mysql-connector增加了返回GeneratedKeys的条件,如果需要返回 GeneratedKeys,则PreparedStatement需要显示添加一个参数 Statement.RETURN_GENERATED_KEYS。不过直接报错,不向下兼容也太不厚道了。
相关Bug信息:http://bugs.mysql.com/bug.php?id=41448
参考:http://www.itsmile.net/blog/article_show/20/273752
相关推荐
`mysql-connector-java-5.1.17`适用于MySQL 5.x版本,对于新版本的MySQL(如8.x),可能需要更新到更兼容的JDBC驱动版本,以利用新特性并修复已知问题。 6. 性能优化: - 使用批处理(Batch Processing)执行多条...
"mysql-connector-java-5.1.17.zip" 文件正是这个驱动程序的一个版本,其版本号为5.1.17。 MySQL JDBC驱动程序分为四个类型:Type 1、Type 2、Type 3 和 Type 4。MySQL Connector/J 是Type 4驱动,完全基于Java语言...
然而,随着MySQL版本的更新,建议开发者适时升级到更现代的驱动版本,以利用新版本带来的性能提升和功能增强。 总的来说,MySQL Connector/J 5.1.17-bin.jar是Java开发者与MySQL数据库通信的关键组件,了解其工作...
MySQL Connector/J 5.1.17 是 MySQL 官方为Java开发者提供的数据库驱动程序,它使得Java应用程序能够与MySQL数据库进行无缝连接。这个压缩包文件包含的是该驱动的二进制版本,主要目的是便于Java开发者在项目中快速...
如果新项目或升级的项目正在使用较新的MySQL版本,建议使用与之匹配的驱动版本,以充分利用新特性并避免潜在兼容性问题。 总之,`mysql-connector-java-5.1.17-bin.jar`和`mysql-connector-java-5.1.19-bin.jar`是...
MySQL是世界上最受欢迎的开源关系型数据库管理系统之一,其5.1.17版本是一个重要的里程碑,在这个版本中,MySQL提供了一系列的功能改进和性能优化。本文将深入探讨MySQL-5.1.17及其关联的Java连接器——mysql-...
MySQL Connector/J 5.1.17 是MySQL数据库与Java应用程序之间的重要桥梁,它是一个实现了JDBC(Java Database Connectivity)接口的驱动程序,允许Java开发者在他们的应用中连接并操作MySQL数据库。这篇详解将深入...
Java连接MySQL数据库主要依赖于`mysql-connector-java`驱动程序,这是一个由MySQL官方提供的Java API,用于在Java应用程序中与MySQL数据库进行通信。在给定的`mysql-connector-java-5.1.17-bin.jar`文件中,包含了...
"mysql-connector-java-5.1.7-5.1.3-5.1.17"这个压缩包可能包含了从版本5.1.7到5.1.17的多个MySQL Connector/J版本,这些版本可能用于兼容不同环境或解决特定时期的问题。 MySQL Connector/J的知识点包括: 1. **...
MySQL是世界上最流行的开源关系型数据库管理系统之一,而`mysql-connector-java-5.1.7.jar`是MySQL官方为了使得Java应用程序能够连接到MySQL数据库而提供的JDBC(Java Database Connectivity)驱动程序。JDBC是Java...
总的来说,Spring Framework 5.1.17.RELEASE的源码是一本生动的教科书,通过阅读和分析源码,开发者不仅可以了解Spring的工作原理,还能学习到设计模式和最佳实践,这对于提升个人技术水平和解决实际问题有着不可...
"mysql-workbench-oss-5.1.17-win32-noinstall.zip" 是这个工具的一个特定版本,适用于Windows 32位操作系统,并且是开源服务版本(OSS)。这个压缩包文件包含了免安装版本的MySQL Workbench,意味着用户可以直接...
mysql-src-5.1.17 源代码,对于理解mysql的一些类是很有必要的。
`mysql-connector-java-5.1.17`是MySQL JDBC驱动程序的特定版本文件名,其中`mysql-connector-java`是驱动的通用名称,`5.1.17`表示具体版本。这个.JAR文件包含了所有必要的Java类和资源,使得Java应用程序能够与...
在安装新版本MySQL之前,需要确保旧版本的Mariadb或其他MySQL版本已完全卸载,避免出现端口冲突等问题。 ```bash # 查找并列出已安装的RPM包 rpm -qa | grep mariadb # 卸载列出的包 rpm -e mariadb-server-5.5.44-...
这个压缩包“mysql-connector-java-5.0.X.rar”包含的是不同版本的MySQL JDBC(Java Database Connectivity)驱动,允许Java开发者在他们的应用中无缝地连接到MySQL数据库。 JDBC驱动是Java平台上的一个标准接口,...
myeclipse、eclipse连接mysql的jar驱动包
mysql连接jar包 mysql-connector-java-5.1.34-bin mysql-connector-java-5.1.16-bin mysql-connector-java-5.1.7-bin