JDBC的应用

来源:互联网 发布:java参数&传递 编辑:程序博客网 时间:2024/04/20 22:29
 

1.  JDBC概述

• JDBC是一种可以执行SQL语句并可返回结果的Java API,其全称是Java DataBase Connectivity,也是一套面向对象的应用程序接口(API),它由一组用Java编程语言编写的类和接口组成,制定了统一的访问各类关系数据库的标准接口,为各种常用数据库提供了标准接口的实现。

• JDBC的最大特点是它独立于具体的关系数据库。

• JDBC的优点

–   JDBC和ODBC十分相似,有利于软件开发人员理解

–   JDBC使软件开发人员从复杂的驱动程序编写工作中解脱出来,可以完全专注于业务逻辑的开发。

–   JDBC支持多种关系型数据库,使软件的可移植性增加

–   JDBC的API是面向对象的,软件开发人员可以将常用的方法进行二次封装,从而提高代码的重用性。

• JDBC的缺点

–   通过JDBC访问数据库时速度将受到一定影响。

–   虽然JDBC API是面向对象的,但通过JDBC访问数据库依然是面向关系的。

–   JDBC提供了对不同数据库厂商的支持,将对数据源带来影响。

• 注意:Java应用程序不会直接操作底层的数据库,而是通过JDBC API的JDBC驱动程序管理器,委托给底层的各种类型的JDBC驱动程序来操作数据库。

• 功能:

• (1)各种关系数据库管理系统只能理解SQL语句,不能理解Java语言的语句,因此,JDBC驱动程序把Java命令转换为通用SQL语句,将查询的结果转换为类对象的形式。

• (2)今天市场上有不同类型的RDBMS产品,Java应用应能够与任何类型的数据库通讯(独立于RDBMS的)。

2.        JDBC连接数据库

创建一个以JDBC连接数据库的程序,包括如下7个步骤。

a)   加载JDBC驱动程序
Class.forName(“com.mysql.jdbc.Driver”);
或者:Driver driv=new com.mysql.jdbc.Driver();
           DriverManager.registerDriver(driv);

b)   提供JDBC连接的URL
String url="jdbc:mysql://localhost:3306/test";
String username="root";
String password="1234";

或urll ="jdbc:mysql://localhost:3306/test?user=root&password=1234”

–   创建数据库的连接
Connection con;
con=DriverManager.getConnection(url,username,password);

或con=DriverManager.getConnection(urll);

–   创建一个Statement
Statement stat=con.createStatement();

–   执行SQL语句
stat.executeUpdate(sql);//sql是insert、update和delete语句
stat.executeQuery(sql);//sql是select语句
stat.execute(sql);  //多个结果集、多个更新计数或组合语句

–   处理结果---执行结果可能会出现两种情况

–      执行更新返回的是本次操作影响到的记录数

–      执行查询返回的结果是一个ResultSet对象,该对象以0或多条记录的形式包含了查询结果,可以通过隐含的游标(指针)来定位数据,初始化时,游标位于第一条记录前,可以通过next()方法移动到下一条记录。

ResultSet rs=stat.executeQuery(“select …”);

rs.next();//移动游标到第一条记录,如果没有到最后一条记录的后面,方法返回true,否则返回false。

while(rs.next()){

    //读取游标所指的记录行数据

    System.out.println(“学号:”+rs.getInt(1));

    System.out.println(“学号:”+rs.getInt(“id”));

}

ResultSet对象rs中有getXXX()方法,可从当前记录行中获取指定列的信息,可通过指定列索引号或列明两种方式指定要读取的列。

–   关闭JDBC对象
在操作完成以后要把所使用的JDBC对象全部关闭,以释放JDBC资源,关闭的顺序和声明顺序相反。

finally{
  if(rs!=null){
       try {
      rs.close();
      } catch (SQLException e) {
      e.printStackTrace();
      }
   }…
}

这一节主要是主要JDBC的连接的七个步骤。

原创粉丝点击