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包即可。

未完待续,欢迎持续关注本公众号,了解不一样的编程思维。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171218G0SL1O00?refer=cp_1026

扫码关注云+社区