日期:2014-05-16 浏览次数:20366 次
最近学了点数据库,怎么在自己的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语句写错了也会报异常的,这个异常中种类就比较多,我也不一一列举了。千万不能粗心大意啊!
?<