JDBC的介绍及使用

来源:互联网 发布:03到08年网络流行歌曲 编辑:程序博客网 时间:2024/06/05 00:51
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。
换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。

JDBC的用途:简单地说,JDBC 可做三件事:与数据库建立连接、发送 操作数据库的语句并处理结果


一、JDBC使用步骤:
先倒入ojdbc6.jar包 还要add to Build Path
  1.加载驱动,以便调用类文件:Class.forName("oracle.jdbc.OracleDriver");
  2.驱动管理者:Connectin con=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ORA","sa","sa")(括号是url地址,用户名,密码);
  3.Connection 是接口在java.sql中,连接就是会话,用完连接必须关闭,con.close();
  4.statement 在java.sql包中用于执行静态SQL语句并返回它所生成结果的对象
  st=con.createStatement();通过连接获得实例
  使用st的executeUpdate(string sql)语句来返回执行语句所影响的行数

   statement在使用的时候也要关闭


二、ResultSet接口的使用、PreparedStatement接口的使用
①ResultSet接口是结果集,通常通过执行查询数据库的语句生成

ResultSet rs=st.executeQuery("select * from sa.teacher");
rs.next()将光标从当前位置下移一行(最初位置位于第一行之前)
rs.close()结果集要关闭,并且关闭早于Statement的关闭早于Connection的关闭
rs.getInt(int索引)比rs.getInt(String 列名)检索的速度要快
②数据库对数据的要求:对数据格式要求严格,只要数据格式一致,类型不重要。例如Date类型的时间存入时间格式为“09-9月-99”的字符串也能存入数据库,不会报错。
③PreparedStatement接口 预编译的SQL语句的对象
SQL语句被预编译存储在PreparedStatement中,可以用此对象多次高效的执行该SQL语句
PreparedStatement是一种Statement,它是Statement接口的子接口
在PreparedStatement中写的SQL语句不用使用单引号,使用?占位符表示参数,这样赋值更加准确
ps=con.prepareStatement("insert in sa.teacher values(?,?,?)");
给?赋值:ps.setInt(1,tec.getTid()); ps.setString(2,tec.getTname);  ps.executeUpdate();返回值是boolean类型
④int+"" 就变成了String类型 
⑤在Statement中:
st=con.createStatement();创建一个Statement对象来将SQL语句发送到数据库
st.executeUpdate(sql);执行给定的SQL语句返回int类型
在PreparedStatement中:
ps=con.prepareStatement(sql);创建一个PreparedStatement对象;来将参数化的SQL语句发送到数据库
ps.executeUpdate();返回int型在PreparedStatement对象中执行SQL语句