本篇通过一个简单的数据库应用的例子告诉你如何编写你的第一个JDBC程序。
一、JDBC简介
相信在微软平台上开发过应用程序的朋友一定对ODBC不会陌生,ODBC是一种用C语言开发的API,通过它,你可以访问不同数据库平台上的数据,目前ODBC已经成为Windows环境下访问数据库的事实上的标准,也是一种基本方法。但是,由于ODBC的设计过于复杂,造成它很难对外扩展。JDBC是SUN开发的一种用来进行数据库访问的API,它借鉴了ODBC的的某些特点而没有它的复杂性,给数据库开发带来了极大的便利性。同时,JDBC还提供了对现存数据库API(比如ODBC)的调用,使得Java应用程序可以访问任何支持ODBC的数据库管理系统。
二、开始
下面这个简单的程序演示了如何在java中连接、打开和查询一个数据库。本例中以mysql为数据库平台。
- import java.sql.*; ;
-
- public class JDBCDemo{
- public static void main(String[] args) {
- String driver="com.mysql.jdbc.Driver"; //驱动程序
- String url="localhost/jive"; //数据库服务器地址及数据库名
- Connection con=null;
- Statement st;
- ResultSet rs;
- try { //(1)
- Class.forName(driver).newInstance();
- } catch (Exception ex) {
- // 在这进行错误处理
- }
- try{ //(2)
- con=DriverManager.getConnection(url,"test","test");
- st=con.createStatement();
- rs=st.executeQuery("Select * from jiveForums");
- while(rs.next()){ //查询结果处理
- System.out.println("ID="+rs.getString(1));
- System.out.println("Name="+rs.getString(2));
- }
- }catch(Exception e){
- e.printStackTrace();
- }finally{
- if(con==null)return;
- try{ //(3)
- con.close();
- }catch(Exception e){
- e.printStackTrace();
- }
- }
- }
- }
程序的第一句导入我们需要用到的JDBC API,为了方便,我以*来导入在sql中定义的所有包,你也可以只指定你用到的包,比如:java.sql.Connection等。
在主函数中定义的两个字符串分别是驱动程序名和数据库服务器地址及数据库名。我在这里使用的是mysql数据库,所以我用的是mysql驱动程序,不同的数据库用不同的驱动程序,如果你用的不是mysql,请替换此行。
服务器地址是你安装数据库的主机的IP,如果在本机,你也可以用"localhost"来连接。数据库名是你已经在数据库系统中建立过的,这里是test.接着在标识为(1)的try块中装载驱动程序。这一步是为驱动程序来装载自己,然后让驱动程序管理器来进行管理,在(2)的try块中,从驱动程序管理器中取得一个连接,第一个引数已经说过,第二个引数是数据库中的用户名,最后一个是口令。接着创建一个Statement对象来执行查询,查询结果将返回一个记录集,在这里就是rs。在接下来的while循环中来处理查询结果,在这只是简单的打印出来。
在finally块中,将执行连接的关闭,如果在前面没有正确得到一个连接,将直接返回。
好了,修改这个程序以适应你的平台,然后执行。怎么样连接数据库就这么简单。
三、注意事项
1 在上面这个程序中,请注意不要写错驱动程序名,如果出现找不到驱动程序的错误,请检查你的驱动程序是否在类搜索路径即CLASSPATH中,
一般你下载的驱动程序可能是以.jar为扩展名,那么你要把此文件包含在CLASSPATH中,比如我用的mysql.jar,那么在claspath中有:c:\driver\mysql.jar。
2 数据库服务器IP要填准确,如果在本机,请直接使用localhost,用户名和口令是你用来操作数据库的用户和口令,不要认为是操作系统的用户名和口令。
3 最后要注意,用完一个连接后要及时关闭,养成好的习惯。