




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 历届统考数学试卷
- 项目投标服务合同范本
- 厨房清洁服务合同范本
- DB37∕T 4218-2020 海岸带三维全景地面移动激光测量作业技术规程
- 连中月考数学试卷
- 青羊区二诊数学试卷
- 商业步行街2025年改造项目初步设计评估与公共服务设施完善报告
- 经络考试题及答案
- 南阳初一上册数学试卷
- 2025年度离婚债务清算与财产公平分配服务协议
- 卷扬工安全知识培训内容课件
- 2025年度泸州老窖白酒线上线下全渠道销售代理协议
- 教职工开学安全知识培训课件
- 2025年公路交通水运三类人员试题及答案
- 2025年河北省初中学业水平考试历史试题(含答案)
- 2025年甘肃省公职招录考试(省情时政)历年参考题库含答案详解(5套)
- 期末必考题检测卷(三)(含答案)高一数学下学期人教A版必修第二册
- 2025年江苏公务员遴选考试公文写作试卷(附答案)
- 2025年度以新质生产力助推高质量发展等继续教育公需科目试题及答案
- 2025年技师安全考试题库
- 站点考勤管理制度
评论
0/150
提交评论