JDBC的应用
一. JDBC是一种可以执行SQL语句并可返回结果的Java API,其全称是Java DataBase Connectivity,也是一套面向对象的应用程序接口(API),它由一组用Java编程语言编写的类和接口组成,制定了统一的访问各类关系数据库的标准接口,为各种常用数据库提供了标准接口的实现。
二. JDBC的最大特点是它独立于具体的关系数据库。
三. JDBC的优点
a) JDBC和ODBC十分相似,有利于软件开发人员理解
b) JDBC使软件开发人员从复杂的驱动程序编写工作中解脱出来,可以完全专注于业务逻辑的开发。
四. JDBC的缺点
a) 通过JDBC访问数据库时速度将受到一定影响。
b) 虽然JDBC API是面向对象的,但通过JDBC访问数据库依然是面向关系的。
c) 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();
}
}…
}