日期:2014-05-16  浏览次数:20372 次

JDBC——让java程序连上数据库

最近学了点数据库,怎么在自己的java程序中调用数据库就成了一个亟待解开的迷。呵呵,JDBC——它可以帮助我解决这个问题。

?

一、小论异常

?

其实JDK已经提供了一组API让java程序连上数据库,并执行SQL语句,其实说起来也蛮简单的,但是绝对是一个细致活,因为稍不留神,异常就铺天盖地的来了,下面说说这些异常吧(声明一下:我用的是数据库是MySQL):

?

1、异常一:java.lang.ClassNotFoundException: com.mysql.jdbc.Drive

正确语句:

//装载对应数据库的驱动类

			Class.forName("com.mysql.jdbc.Driver").newInstance();

驱动jar包要从www.sql.org官网上下载,"com.mysql.jdbc.Driver"也是SQL定义好的,拷贝下来随用随取就行了,但是如果一不留神写错了,写成了"com.mysql.jdbc.Drive",就会报这个异常:java.lang.ClassNotFoundException: com.mysql.jdbc.Drive所以以后看到这个异常,一定要明白,是驱动名字写错了。

?

2、异常二:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

名字没写错啊,为什么还会报异常呢?这是因为没有把驱动包引入进来,可以在Project上右键——选择Properties——点击左栏Java Build Path选项——左边选项栏Libraries——Add External JARs(选择驱动包的路径)——OK,就把驱动包添加进来了,这个异常也就解决啦!

?

3、异常三:

正确语句:

//数据库连接串

			String url = "jdbc:mysql://localhost:3306/netjavablog";
?

数据库URL代表的是一种通信协议——JDBC协议,MySQL的连接串的格式为:jdbc:mysql://ip地址:端口号/数据库名字

如果是ip地址或者端口号写错了,报的异常是同一种:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

提示连接失败,看到这个,一定去检查ip地址和端口号,他们很有可能是罪魁祸首哦!

数据库名字写错了:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'javablog'

说明不存在这个数据库,检查一下数据库名字就行了

?

4、异常四:java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

正确语句:

//创建连接,传入连接串,帐号,密码

		Connection connection = DriverManager.getConnection(URL,"root","netjava");
?

报这个异常是由于密码写错了,检查一下自己的密码吧!粗心真是寸步难行啊!

这三行语句一点没有技术含量,完全是固定格式,但是如果不细心的话会给程序带来很多异常,阻挡我们前进的脚步,可能出现的异常有很多,

我只是简单列举几种,像如果sql语句写错了也会报异常的,这个异常中种类就比较多,我也不一一列举了。千万不能粗心大意啊!

?<