JDBC的应用
一、对于JDBC的初步了解
1、JDBC是一种可以执行SQL语句并可返回结果的Java API,也是一套面向对象的应用程序接口(API),它由一组用Java编程语言编写的类和接口组成,制定了统一的访问各类关系数据库的标准接口,为各种常用数据库提供了标准接口的实现。
JDBC的最大特点是它独立于具体的关系数据库。
2、JDBC的优点:JDBC和ODBC十分相似,有利于软件开发人员理解
JDBC使软件开发人员从复杂的驱动程序编写工作中解脱出来,可以完全专注于业务逻辑的开发。JDBC支持多种关系型数据库,使软件的可移植性增加
JDBC的API是面向对象的,软件开发人员可以将常用的方法进行二次封装,从而提高代码的重用性。
3、JDBC的缺点:通过JDBC访问数据库时速度将受到一定影响。
虽然JDBC API是面向对象的,但通过JDBC访问数据库依然是面向关系的。JDBC提供了对不同数据库厂商的支持,将对数据源带来影响。
注意:Java应用程序不会直接操作底层的数据库,而是通过JDBC API的JDBC驱动程序管理器,委托给底层的各种类型的JDBC驱动程序来操作数据库。
(1)各种关系数据库管理系统只能理解SQL语句,不能理解Java语言的语句,因此,JDBC驱动程序把Java命令转换为通用SQL语句,将查询的结果转换为类对象的形式。
(2)今天市场上有不同类型的RDBMS产品,Java应用应能够与任何类型的数据库通讯(独立于RDBMS的)。
创建一个以JDBC连接数据库的程序,包括如下7个步骤
加载JDBC驱动程序
Class.forName(“com.mysql.jdbc.Driver”);
或者:Driver driv=new com.mysql.jdbc.Driver();
DriverManager.registerDriver(driv);
提供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。