资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,2022/12/26,*,Oracle,数据库管理与应用实例教程,第12章 数据库应用程序开发,主编:刘志成,本章学习导航,本章学习导航,本章学习要点,(,1,),C/S,结构和,B/S,结构;,(,2,)常用的,数据库访问技术,;,(,3,)使用,JDBC-ODBC,桥,访问,Oracle 11g,数据库;,(,4,)使用,JDBC Driver,访问,Oracle 11g,数据库;,(,5,),C#.NET,中使用,ODBC,方式,访问,Oracle 11g,数据库;,(,6,),C#.NET,中使用,OLE DB,方式,访问,Oracle 11g,数据库;,(,7,),C#.NET,中使用,OracleClient,方式,访问,Oracle 11g,数据库。,建议课时:,8,课时,12.1,数据库应用程序结构,概述,数据库应用程序是指任何可以,添加,、,查看,、,修改,和,删除,特定数据库(如,Oracle,中的,eBuy,)中数据的应用程序。,数据库应用程序一般包括三大组成部分:,一是为应用程序提供数据的后台数据库;,二是实现与用户交互的前台界面;,三是实现具体业务逻辑的组件。,具体来说,数据库应用程序的结构可依其数据处理及存取方式分为主机,-,多终端结构、文件型结构、,C/S,(客户机,/,服务器)结构、,B/S,(浏览器,/,服务器)结构以及,3,层,/,多层结构等。,12.1,数据库应用程序结构,客户机,/,服务器结构,客户机,/,服务器结构的出现是为了解决,费用,和,性能,的矛盾,最简单的,C/S,结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。,(,1,)伸缩性差。,(,2,)性能较差。,(,3,)重用性差。,(,4,)移植性差。,12.1,数据库应用程序结构,浏览器,/,服务器结构,12.1,数据库应用程序结构,C/S VS B/S,1,支撑环境,C/S,结构一般建立在专用的小范围内的局域网络环境,局域网之间通过专门服务器提供连接和数据交换服务;,B/S,结构建立在广域网之上的。,2,安全控制,C/S,结构一般面向相对固定的用户群,对信息安全的控制能力很强。,B/S,结构建立在广域网之上,面向不可知的用户群,对安全的控制能力较弱。,3,程序架构,C/S,结构可以对权限进行多层次校验,对系统运行速度较少考虑;,B/S,结构对安全以及访问速度的多重的考虑建立在需要更加优化的基础之上,比,C/S,结构有更高的要求,,B/S,结构的程序架构是发展的趋势。,12.1,数据库应用程序结构,C/S VS B/S,4,可重用性,C/S,结构侧重于程序的整体性,程序模块的重用性不是很好;,B/S,结构一般采用多层架构,使用相对独立的中间件实现相对独立的功能,能够很好地实现重用。,5,可维护性,C/S,结构处理出现的问题以及系统升级都比较难,一旦升级可能要求开发一个全新的系统;,B/S,程序由组件组成,通过更换个别的组件,可以实现系统的无缝升级,系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。,6,用户界面,C/S,结构大多是建立的,Window,平台上,表现方法有限,对程序员普遍要求较高;,B/S,结构建立在浏览器上,有更加丰富、生动的表现方式与用户交流,开发难度降低,开发成本下降。,12.1,数据库应用程序结构,3,层,/N,层结构,(,1,),用户界面层,:实现用户界面,并保证用户界面的友好性、统一性。,(,2,),业务逻辑层,:实现数据库的存取及应用程序的商业逻辑计算。,(,3,),数据服务层,:实现数据定义、存储、备份和检索等功能,主要由数据库系统实现。,课堂案例,1Java,平台,Oracle,数据库程序开发,学习使用,ODBC-JDBC,桥访问,Oracle,数据库、使用,JDBC,驱动程序直接访问,Oracle,数据库、在,Java,程序中调用,Oracle,数据库中存储过程的方法和一般步骤。,案例学习目标,ODBC,数据源的配置、部署,ojdbc6_g.jar,包、连接,Oracle,数据库、访问,Oracle,数据库、处理,Oracle,数据库数据、编写存储过程、编写,Java,程序、,Java,程序调用存储过程。,案例知识要点,课堂案例,1Java,平台,Oracle,数据库程序,开,开发,JDBC,概述,添加标题文,字,字,JDBC,(,JavaDatabase Connection,)作为一种,中,中间件,可,以,以实现,Java,应用程序与,数,数据库之间,的,的接口功能,。,。,Sun Microsystems,公司已将,JDBC,作为,JDK,的一部分,,包,包括这些,JDBCAPI,,使,Java,应用与数据,库,库通信。,教师演示讲,解,解,课堂案例,1Java,平台,Oracle,数据库程序,开,开发,案例完成步,骤,骤,添加标题文,字,字,1,注册数据,库,库驱动程序,(,1,),JDBC-ODBC,桥接方式。,Java,应用程序访,问,问,Oracle,数据库,我,们,们可以通过,配,配置数据源,的,的方法来实,现,现,即,ODBC,方式。配置,Oracle,数据源后,,应,应用程序再,使,使用,JDBC,提供的编程,接,接口,通过,数,数据源名称,访,访问指定类,型,型的数据库,。,。,JDBC,使用驱动器,管,管理器管理,各,各种数据库,驱,驱动程序,,应,应用程序使,用,用统一的方,式,式访问数据,库,库。,(,2,),JDBC,直接连接方,式,式。即使用,JDBC,直接连接数,据,据源的方法,。,。,教师演示讲,解,解,课堂案例,1Java,平台,Oracle,数据库程序,开,开发,案例完成步,骤,骤,添加标题文,字,字,2,获得数据,库,库连接,(,1,),JDBC-ODBC,桥接方式。,String url=jdbc,:,odbc,:,MyData;,String user=SCOTT;,String password=123456;,Connectionconn=DriverManager.getConnection(url,user,password);,(,2,),JDBC,直接连接方,式,式。,conn=DriverManager.getConnection(jdbc:oracle:thin:SD04:1521:EBUY,SCOTT,123456);,其中,,SD04,表示服务器,名,名称,也可,以,以使用,IP,地址代替,,如,如;,EBUY,表示,Oracle,全局数据库,名,名称;,1521,表示相应的,连,连接端口。,教师演示讲,解,解,课堂案例,1Java,平台,Oracle,数据库程序,开,开发,案例完成步,骤,骤,添加标题文,字,字,3,发送和执,行,行,SQL,语句,(,1,),Statement,接口。,Statementstat=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);,(,2,),PreparedStatement,接口。,PreparedStatement,接口用于实,现,现发送带参,数,数的预编译,SQL,语句到数据,库,库并返回执,行,行结果的功,能,能,预编译,意,意味着这些,语,语句可以比,单,单个语句更,有,有效地执行,,,,尤其是在,循,循环中重复,执,执行某条语,句,句时。,(,3,),CallableStatement,接口。,CallableStatement,接口用于实,现,现调用数据,库,库存储过程,的,的功能。使,用,用,CallableStatement,接口既支持,直,直接存储过,程,程调用,也,支,支持带占位,符,符的存储过,程,程调用。,教师演示讲,解,解,课堂案例,1Java,平台,Oracle,数据库程序,开,开发,案例完成步,骤,骤,添加标题文,字,字,4,ODBC-JDBC,桥访问实例,【,例,12-1】,使用,ODBC,方式查询,Oracle,数据库,并,显,显示用户方,案,案,SCOTT,中商品表,GOODS,的信息。,教师演示讲,解,解,课堂案例,1Java,平台,Oracle,数据库程序,开,开发,案例完成步,骤,骤,添加标题文,字,字,4,ODBC-JDBC,桥访问实例,【,例,12-1】,使用,ODBC,方式查询,Oracle,数据库,并,显,显示用户方,案,案,SCOTT,中商品表,GOODS,的信息。,教师演示讲,解,解,课堂案例,1Java,平台,Oracle,数据库程序,开,开发,案例完成步,骤,骤,添加标题文,字,字,基本步骤:,(,1,)使用“,import java.sql.*;”,引入,JDBCAPI,所在的包。,(,2,)注册,Oracle,数据库驱动,程,程序:,Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);,(,3,)获得和,Oracle,数据库的连,接,接:,Connectionconn=DriverManager.getConnection(jdbc:odbc:MyData,SCOTT,123456);,(,4,)发送,SQL,请求:,Statementstat=conn.createStatement();,ResultSetrs=stat.executeQuery(sQuery);,(,5,)操作结果,集,集对象。,(,6,)关闭相关,对,对象。,教师演示讲,解,解,课堂案例,1Java,平台,Oracle,数据库程序,开,开发,案例完成步,骤,骤,添加标题文,字,字,5,JDBC,直接访问实,例,例,【,例,12-2】,使用,JDBC,方式查询,Oracle,数据库,并,显,显示用户方,案,案,SCOTT,的商品表,GOODS,中商品类别,编,编号为“,02”,的商品信息,。,。,教师演示讲,解,解,课堂案例,1Java,平台,Oracle,数据库程序,开,开发,案例完成步,骤,骤,添加标题文,字,字,5,JDBC,直接访问实,例,例,【,例,12-2】,使用,JDBC,方式查询,Oracle,数据库,并,显,显示用户方,案,案,SCOTT,的商品表,GOODS,中商品类别,编,编号为“,02”,的商品信息,。,。,教师演示讲,解,解,课堂案例,1Java,平台,Oracle,数据库程序,开,开发,案例完成步,骤,骤,添加标题文,字,字,6,Java,程序调用,Oracle,存储过程,【,例,12-3】,编写,Java,程序,调用,Oracle,数据库中的,存,存储过程,up_GetByID,,实现根据,商,商品的编号,获,获得商品的,名,名称和类别,编,编号。,教师演示讲,解,解,课堂案例,1Java,平台,Oracle,数据库程序,开,开发,案例完成步,骤,骤,添加标题文,字,字,6,Java,程序调用,Oracle,存储过程,【,例,12-3,】,】,编写,Java,程序,,,,调,用,用,Oracle,数据,库,库中,的,的存,储,储过,程,程,up_GetByID,,实,现,现根,据,据商,品,品的,编,编号,获,获得,商,商品,的,的名,称,称和,类,类别,编,编号,。,。,教师,演,演示,讲,讲解,课堂,案,案例,2,.NET,平台,Oracle,数据,库,库程,序,序开,发,发,学习,使,使用,.NET,平台,连,连接,Oracle,数据,库,库、,访,访问,Oracle,数据,库,库、,处,处理,Oracle,数据,库,库数,据,据的,方,方法,。,。,案例,学,学习,目,目标,DataGridView,控件,绑,绑定,连,连接,Oracle,数据,库,库、,ODBC,方式,访,访问,Oracle,数据,库,库、,OLEDB,方式,访,访问,Orac
展开阅读全文