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 条评论
登录 后参与评论

相关文章

来自专栏深度学习自然语言处理

有关vi(vim)的常用命令

导读 vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。...

3216
来自专栏happyJared

Linux私房菜:文件目录管理及常见命令

921
来自专栏学习力

《Java从入门到放弃》框架入门篇:Struts2的基本访问方式(二)

1664
来自专栏Python

数据库连接池,本地线程,上下文管理

一、数据库连接池 flask中是没有ORM的,如果在flask里要连接数据库有两种方式 一:pymysql 二:SQLAlchemy 是pyth...

4456
来自专栏我的技术专栏

Linux编译工具:gcc入门

1584
来自专栏web编程技术分享

【Java框架型项目从入门到装逼】第五节 - 在Servlet中接收和返回数据

3447
来自专栏闻道于事

Linux-看完这篇Linux基本的操作就会了

2923
来自专栏三木的博客

Linux shell 程序设计3——命令行程序

1、date:显示、设置系统的日期和时间。 $date 2011年 01月 30日 星期日 14:43:35 CST $date 012309232011 执行...

2076
来自专栏IT派

Python 的异步 IO:Asyncio 简介

所谓「异步 IO」,就是你发起一个 IO 操作,却不用等它结束,你可以继续做其他事情,当它结束时,你会得到通知。

1213
来自专栏Jerry的SAP技术分享

SAP云平台的Document Service

SAP云平台以微服务的方式提供了Document的CRUD(增删改查)操作。该微服务基于标准的CMIS协议(Content Management Interop...

4134

扫码关注云+社区

领取腾讯云代金券