Java数据库编程接口.ppt_第1页
Java数据库编程接口.ppt_第2页
Java数据库编程接口.ppt_第3页
Java数据库编程接口.ppt_第4页
Java数据库编程接口.ppt_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java数据库编程接口 JDBC,教材第9章,JDBC概述,ODBC(Open DataBase Connectivity) 微软制定的一个C语言与数据库的统一接口 JDBC(Java DataBase Connectivity) 为Java语言定义的一个SQL调用级接口。 为访问关系数据库提供了一个标准接口。,JDBC概述,Java application,JDBC Driver Manager,JDBC API,JDBC Driver (数据库厂家提供),JDBC Driver API,DBMS,数据库连接,每个JDBC应用程序至少要有一个JDBC驱动程序版本,JDBC驱动程序是Driver接口类的实现。 Driver类是驱动程序厂家实现的接口,Driver使DriverManager和JDBC应用程序层可以独立于具体的数据库系统。,应用程序,JDBC,Oracle 驱动程序,MySQL 驱动程序,JDBC API(类),java.sql.DriveManager 负责装载、拆除驱动程序,负责连接驱动程序。 java.sql.Connection 实现对某一数据库的连接功能(建立连接)。 java.sql.Statement 在一个给定的连接中作为执行SQL语句的容器。 java.sql.PreparedStatement 用于执行预编译的SQL声明 java.sql.CallableStatement 用于执行数据库中存储过程的调用 java.sql.ResultSet 保存SQL语句执行结果,数据库连接例(Oracle),Oracle安装后,设置classpath,例如: CLASSPATHc:oracleora92jdbclibojdbc14.jar 注册(装入)oracle jdbc驱动程序 语法:DriverManager.registerDriver(Driver driver) 例:DriverManager.registerDriver( new oracle.jdbc.driver.OracleDriver(); 建立连接(到指定数据库) Connection con = DriverManager.getConnection (“jdbc:oracle:thin:166.111.7.248:1521:o8i2“, “scott“, “tiger“); 该方法将挑选一个合适的已注册的JDBC驱动程序,执行sql语句Statement类,建立Statement类对象(sql容器) Statement stmt = conn.createStatement(); 查询: ResultSet rs = stmt.executeQuery(“select ename,age from emp“); 修改: int count = stmt.executeUpdate(“update emp set age = 30 where ename=MARTIN “) INSERT, UPDATE or DELETE (返回行数) DDL 语句(返回0),ResultSet类的方法,移动指针 boolean rs.next() ; 取结果集当前行的数据: 语法:getXXX(列序号或列名) /方法名的重载 String rs.getString(“ename“) ; int rs.getInt (“age“) ; 或 int rs.getInt (2) ;,访问数据库例,import java.sql.* ; class Test public static void main (String args) throws SQLException DriverManager.registerDriver(new oracle.jdbc.OracleDriver(); Connection con = DriverManager.getConnection ( “jdbc:oracle:thin:166.111.7.248:1521:o8i2“, “帐号“ , “密码“); Statement stmt=con.createStatement(); /创建Statement对象 System.out.println(“-查询并显示所有系的学生-“); ResultSet rs=stmt.executeQuery(“SELECT * FROM student order by birthday“); while(rs.next() /显示查询结果 System.out.print(rs.getString(“sno“) + “ “); System.out.print(rs.getString(“sname“) + “ “); System.out.print(rs.getString(“sex“) + “ “);,9-1,访问数据库例,System.out.print(rs.getDate(“birthday“) + “ “); System.out.println(rs.getString(“dno“) + “ “); ; System.out.println(“-统计并显示各系学生数-“); rs=stmt.executeQuery(“SELECT dno,count(*) as num FROM student group by dno“); while(rs.next() /显示查询结果 System.out.print(rs.getString(“dno“) + “ “); System.out.println(rs.getInt(“num“) + “ “); ; System.out.println(“-插入一个学生记录:-“); String s = “ INSERT INTO student VALUES(s00000, 林时, 男 , 21-4月-1990 , d01) “ ; stmt.executeUpdate(s); /添加一条记录,访问数据库例,System.out.println(“-查询d01系的学生:-“); rs=stmt.executeQuery(“SELECT * FROM student WHERE dno=d01 “); /查询 while(rs.next() /显示 System.out.print(rs.getString(“sno“) + “ “); System.out.println(rs.getString(“sname“) + “ “); ; System.out.println(“-删除一个学生记录-“); stmt.executeUpdate(“ DELETE FROM student WHERE sname=林时 “); System.out.println(“-删除记录后,查询d01系的学生-“); rs=stmt.executeQuery(“SELECT sno,sname FROM student WHERE dno=d01 “); /查询表格,访问数据库例,while(rs.next() /显示查询结果 System.out.print(rs.getString(“sno“) + “ “); System.out.println(rs.getString(“sname“) + “ “); ; stmt.close(); /关闭语句 con.close(); /关闭连接 /main() ,9-1,PreparedStatement类,予编译(反复执行效率高),带参数 PreparedStatement ps = conn. preparedStatement( “update emp set sal=sal+? where eno=? “) ; ps.setFloat(1, 210.00) ps.setInt(2, 110592) ps.executeQuery(); ps.executeUpdate() ;,CallableStatement类,执行存储过程 CallableStatement cs = conn.prepareCall(“ call 过程名 “); cs. executeQuery(); ps.execUpdate() ;,JDBC API 层次,驱动程序管理器,驱动程序,连接,语句,预处理语句,可调用语句,结果集,结果集,结果集,驱动程序层,应用程序层,JDBC应用,java ap

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论