专栏首页数据库JDBC常见错误及解决方案

JDBC常见错误及解决方案

最近很多同学在数据库编程这一块遇到了很多的问题,各种问题都有,但却苦于不知道怎么解决这些问题,以至于编程效率非常低。今天我就来总结一下在数据库编程时经常遇到的问题以及解决方案吧。

首先我们先回顾一下用Java操作数据库的步骤:

(2)3+1:

三个单词:Connection,Statement,ResultSet;一条sql语句

Connection用于建立与数据库的连接。格式

为:

Connection connection = Driver

Manager.getConnection(

jdbc:mysql:// + ip地址 + :3306/数据库地址,用名,用户密码)很多错误都是因为这里产生的。

(1)用户密码或者密码出错会产生如下异常,只需检查用户名或者密码是否正确即可。

最近很多同学在数据库编程这一块遇到了很多的问题,各种问题都有,但却苦于不知道怎么解决这些问题,以至于编程效率非常低。今天我就来总结一下在数据库编程时经常遇到的问题以及解决方案吧。

首先我们先回顾一下用Java操作数据库的步骤:

(2)3+1:

三个单词:Connection,Statement,

ResultSet;一条sql语句

Connection用于建立与数据库的连接。格式

为:

Connection connection = DriverManager.getConnection(

jdbc:mysql:// + ip地址 + :3306/数据库地址,用名,用户密码)很多错误都是因为这里产生的。

(1)用户密码或者密码出错会产生如下异常,只需检查用户名或者密码是否正确即可。

(2)当产生这个异常时,检查自己的MySQL驱动加载字符串是否正确。

(3)出现这个异常时一般是因为数据库连接字符串写错导致的,检查数据库连接字符串,并将其按正确格式书写。

(4)执行insert语句的时候,值过长,提示的错误信息如下:此时需要查看数据库中列的长度。插入合适的长度。

还有一个问题是许多同学在使用JDBC时出现的比较棘手的问题,那就是数据库中文乱码问题。插入中文数据时会出现“??”乱码。下面我来详细介绍一下他的解决方法。

首先查看你所建的数据库属性,看其字符集是否为UTF-8,若不是,将其改成UTF-8,有些同学只需改动这里就能解决乱码问题。

如果还不能,再去idea里面查看编码字符集是否为UTF-8,依次点击File---Settings----File Encodings。如图全部将其改为UTF-8。

如果做了如上操作还出现乱码,那么在数据库连接字符串后面加上characterEncoding=utf-8或者characterEncoding=gbk

用于规定其编码字符集。到这里数据库中文乱码问题就可以解决了。

还有的同学遇到了如下错误。

这应该是JDBC驱动包版本与JDK不匹配导致,更换JDBC驱动包即可解决。

例如,使用mysql-connector-java-6.0.6.jar包出现此错误,将其更换为

mysql-connector-java-5.1.16.jar包即可。

(2)当产生这个异常时,检查自己的MySQL驱动加载字符串是否正确。

(3)出现这个异常时一般是因为数据库连接字符串写错导致的,检查数据库连接字符串,并将其按正确格式书写。

(4)执行insert语句的时候,值过长,提示的错误信息如下:此时需要查看数据库中列的长度。插入合适的长度。

还有一个问题是许多同学在使用JDBC时出现的比较棘手的问题,那就是数据库中文乱码问题。插入中文数据时会出现“??”乱码。下面我来详细介绍一下他的解决方法。

首先查看你所建的数据库属性,看其字符集是否为UTF-8,若不是,将其改成UTF-8,有些同学只需改动这里就能解决乱码问题。

如果还不能,再去idea里面查看编码字符集是否为UTF-8,依次点击File---Settings----File Encodings。如图全部将其改为UTF-8。

如果做了如上操作还出现乱码,那么在数据库连接字符串后面加上characterEncoding=utf-8或者characterEncoding=gbk

用于规定其编码字符集。到这里数据库中文乱码问题就可以解决了。

还有的同学遇到了如下错误。

这应该是JDBC驱动包版本与JDK不匹配导致,更换JDBC驱动包即可解决。

例如,使用mysql-connector-java-6.0.6.jar包出现此错误,将其更换为

mysql-connector-java-5.1.16.jar包即可。

本文来自企鹅号 - 算法与编程之美媒体

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 开放的计算能力为数据库瘦身

    开放的计算能力为数据库瘦身 计算封闭性导致臃肿的数据库 我们在上一期谈到,数据库的臃肿,也就是过多的中间表以及相关存储过程,是由于其计算封闭性造成的。如果能够实...

    企鹅号小编
  • 一篇文章让你快速学习Python编程自动化开发学习9-paramiko模块

    第三方库的安装 下面要讲的paramiko是一个第三方库。这是第一次使用到第三方库,要使用第三方库需要先进行安装。不过现在安装过程比较简单,一条命令便可以完成库...

    企鹅号小编
  • 数据库10 大常见安全问题盘点

    数据库已经成为黑客的主要攻击目标,因为它们存储着大量有价值和敏感的信息。 这些信息包括金融、知识产权以及企业数据等各方面的内容。网络罪犯开始从入侵在线业务服务器...

    企鹅号小编
  • 独家揭秘银行核心系统首次迁移到国产数据库的全过程

    2019 年 9 月 12 日,腾讯云官方公布了国产分布式数据库 TDSQL 的一个新案例——张家港农商行。据了解,张家港行新一代核心系统采用了腾讯云 TDS...

    分布式数据库TDSQL
  • 个性代码注释 大合集

    JNingWei
  • 直播平台源码搭建教程之移动端直播音视频功能的开发

    云豹短视频嘉兴
  • ShareX实现截图+图床工作流

    协议:FTP 用户名:操作员名/服务名,如 operator/mybucket 密码:操作员的密码 端口:21

    乐心湖
  • 线下16个数据分析案例分享-认知和运用数据

    数据运用更加普遍,成功案例越来越多,很多人都会说一点数据,有万科要求全员会数据分析、美团利用数据管控成本赢得了百团大战、饿了么和滴滴利用数据实现订单合理派送等等...

    沉默的白面书生
  • 面试题:SSH 和 SSM 两个框架的浅显的区别?

    本人使用过SSH框架一段时间,最后在优化项目的时候决定使用SSM框架,这两种框架的一些浅显的区别我在这里说下。

    芋道源码
  • SSH 和 SSM 有什么区别?

    本人使用过SSH框架一段时间,最后在优化项目的时候决定使用SSM框架,这两种框架的一些浅显的区别我在这里说下。

    一个优秀的废人

扫码关注云+社区

领取腾讯云代金券