![数据库应用开发技术课件_第1页](http://file4.renrendoc.com/view/4ed6d6ac9fdd456e315ebd06fd6e705d/4ed6d6ac9fdd456e315ebd06fd6e705d1.gif)
![数据库应用开发技术课件_第2页](http://file4.renrendoc.com/view/4ed6d6ac9fdd456e315ebd06fd6e705d/4ed6d6ac9fdd456e315ebd06fd6e705d2.gif)
![数据库应用开发技术课件_第3页](http://file4.renrendoc.com/view/4ed6d6ac9fdd456e315ebd06fd6e705d/4ed6d6ac9fdd456e315ebd06fd6e705d3.gif)
![数据库应用开发技术课件_第4页](http://file4.renrendoc.com/view/4ed6d6ac9fdd456e315ebd06fd6e705d/4ed6d6ac9fdd456e315ebd06fd6e705d4.gif)
![数据库应用开发技术课件_第5页](http://file4.renrendoc.com/view/4ed6d6ac9fdd456e315ebd06fd6e705d/4ed6d6ac9fdd456e315ebd06fd6e705d5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库应用开发技术
2004年度SDB培训本次讲座的主要内容Java项目开发的基本概念Junit测试及Web应用测试平台webtestIDE数据库访问接口JDBC和SDB数据访问中间件项目开发实例演示总结和讨论一、基本概念讲解Java技术一种面向对象编程语言和技术平台独立性、安全性、面向对象、动态性、分布性、强大的网络功能目前已经发展成为一种平台Eclipse集成开发环境Eclipse集成开发环境Eclispe集成开发环境构成Eclipse与Jbuilder9比较Eclipse工作台组成Eclipse体系结构现场演示eclipse使用认识eclipseeclipse进行软件项目开发利用插件功能来搭建开发环境测试环境发布环境软件的需求分析环境Eclipse集成开发环境的构成它有三部分组成:运行时核心(EclipsePlatform)Java开发工具(JDT)插件开发者环境(PDE)Eclipse平台的特点开放源码,无需付费即可使用Eclipse是开放源代码的项目,可以到下载IBM公司主导研发,技术有保证安装简单,无需复杂配置即可使用Eclipse适合java初学者和java高手Eclipse和Jbuilder两大集成环境比较(续)eclipse的优势:开放性和强大的功能,Eclipse使用了本地界面资源,安装简单;开放源码,无需付费;不同的用户可以定制适合自己的开发界面;支持自己和第三方插件,扩充自己的平台功能。eclipse的劣势eclipse不支持图形界面设计功能;知道和熟悉eclipse人远不如jbuilder人多。Eclipse工作台组成透视图:由各种视图组成视图编辑器资源管理菜单Eclipse体系结构Resin应用服务器的使用Javaweb服务器的选择Resin的安装和使用Resin项目发布现场演示其使用Javaweb服务器的选择有偿商业的java应用服务器IBMWebSphereBEAWebLogic轻量型免费的javaweb服务器ResinTomcatOrionTomcat是标准的实现者,但Resin的效率是它的3倍SDB应用服务器Resin的安装和使用Resin可以在下载和使用。下载Resin时选择ArchiveVersions中的windows.zip的普通安装包resin-2.1.10.zip。把该zip包解压到任何目录下面,如C:\resin-2.1.10。进入C:\resin-2.1.10\bin,键入httpd,可以在命令行控制台下运行Resin服务器。此时弹出一个有start和stop两个Radio按纽和close按纽的对话框。在这里可以看到Resin的运行信息。点选stop,可以停止当前的Resin服务器进程;再点选start,又可以开启新的Resin服务器进程。关闭该对话框,则回到Command控制台的盘符提示状态下。如下图所示:Resin配置文件Resin服务器通过一个Xml文件配置C:\resin\conf目录下的resin.confhost参数指定的是服务器port指定的是http端口默认是localhost和8080Resin中项目发布使用Resin开发JavaWeb项目时,需要建立自己的Web应用Resin中的应用可以有2种方式发布:在Resin的目录下发布;打包成War发布。SDB应用服务器自主开发的web应用服务器主要包括sdb的分布式的元数据访问中间件、数据目录访问中间件、数据访问中间件等核心模块,是系统平台软件的重要组成部分,支持sdb元数据标准的实现。其中的web容器部分基于resin实现为科学数据库系统量身订做,适合系统平台使用安装简单,使用方便功能齐全,性能良好具体使用和安装有具体课程介绍休息片刻二、Junit测试及web应用测试平台webtestIDE什么是junit?JUNIT是基于测试JAVA类的单元测试框架,*.java;JUNIT是白盒测试,测试类与代码类都是开发者本人完成;JUNIT是OpenSource,免费提供源码;JUNIT是一个回归测试框架(regressiontesingframework),用于java开发人员编写单元测试之用;框架的定义框架定义了一些条条框框,编写的测试代码必须遵循这些条条框框:继承某个类,实现某个接口。框架通俗一点就是我们所说的规范。JUNIT提供API接口,测试类必须继承API的类和提供的包。JUNIT目前得到大多数软件工程师的认可,遵循JUNIT可以得到很多支持。Junit测试的原则在Junit单元测试框架的设计时,可以一共设定了三个总体目标第一个是简化测试的编写第二个是使测试单元保持持久性第三个则是可以利用既有的测试来编写相关的测试先写测试代码,再写工作代码Junit在IDE中的应用EclipseJBuilderForte/NetbeansIntelliJTogetherJVisualAgeJDeveloperIntegration绝大多数测试代码自动生成Junit在Eclipse中使用举例Test类publicclassTest{publicintadd(inta,intb){returna+b;}}测试类testcasepublicclassTesttestextendsTestCase{publicTestTest(Strings){super(s);}protectedvoidsetUp(){System.out.println("setUp");}protectedvoidtearDown(){System.out.println("tearDown");}publicvoidtestAdd(){
Testtest=newTest();this.assertEquals(12,test.add(9,1));}}JunitResultweb应用集成测试平台webtestIDEweb应用集成测试平台webtestIDEWeb应用的基本概念Web应用测试Web应用集成测试平台webtestIDEWeb应用的概念Web应用是用来完成某个任务的一系列相关web页面和其他资源的集合。典型的Web应用由静态的HTML页面和运行在服务器和客户端的程序组成,使用HTTP协议实现浏览器和Web服务器之间的通讯。Web服务器和数据库服务器之间使用ODBC或者JDBC等数据库访问协议进行连接。Web应用测试的特点Web应用的用户数量巨大:多用户的性能测试Web应用使用环境不尽相同:兼容性测试Web应用着重于信息的发布:测试来保证信息的正确显示Web应用发表时间短:测试人员和测试管理人员面临着从测试传统的C/S结构和框架环境到测试快速改变的Web应用系统的转变。Internet和Web媒体的不可预见性也使Web应用的测试变得困难。Web应用测试类型功能测试性能测试可用性测试客户端兼容性测试安全性测试Web应用层次化测试方法Web应用功能模块化/Web应用层次化测试方法被测项目(Project)测试方案(Scheme)测试项(Item)测试步骤(Step)Web应用层次化测试方法(续)一个被测项目可以按以下的层次进行组织WebtestIDE就是依据web应用层次化测试方法WebtestIDEWebtestIDE是数据库系统平台项目重要组成部分WebtestIDE是自动化测试web应用工具WebtestIDE是自主研制开发WebtestIDE保证了数据库系统平台建设的质量
webtestIDE系统界面webtestIDE系统界面webtestIDE系统界面webtestIDE系统界面WebtestIDE-设计背景“科学数据库系统平台建设”是中科院“十五”信息化建设重大专项中“科学数据库及其应用系统”项目的一个子项目。系统平台中间件系统平台工具集数据库数据库数据库应用系统WebtestIDE基本原理webtestIDE系统结构三层体系结构(Browser/WebServer/DBServer)客户端(浏览器端):提供用户管理和项目管理接口;Web服务器端:生成测试脚本;执行自动测试;解析报告文件等;数据库服务器端:保存各种信息。
WebtestIDE运行环境采用基于Web的三层体系结构(Browser/WebServer/DatabaseServer)服务器操作系统(OS)MSWindows2000Server应用服务器(ApplicationServer)JavaSDK+Resin2.1.8数据库服务器(DBServer)Hsqldb1.7.1浏览器MSIE5.0/6.0集成开发环境Eclipse2.1版本控制工具VisualSourceSafe6.0开发语言Java+Jsp+JavaScript+HTML+XMLWebtestIDE使用演示
休息片刻三、数据库访问接口JDBC
及SDB数据访问中间件数据库访问接口JDBCJDBC的框架存取数据的5个步骤存取数据库行为的分类数据库连接的2种方式JDBC定义JDBC(JavaDataBaseConnectivity)是Java语言为了支持SQL功能而提供的与数据库相联的用户接口,JDBC中包括了一组由Java语言书写的接口和类,它们都是独立于特定的DBMS,或者说它们可以和各种数据库相关联。
使用了JDBC以后,程序员可以将精力集中于上层的功能实现,而不必关心底层与具体的DBMS的连接和访问过程。
JDBC框架结构(一)
实现了三个基本的功能: 建立与数据的连接 执行SQL语句 处理执行结果 主要的接口和功能实现关系如下图所示:JDBC框架结构(二)JDBC框架结构(三)java.sql.DriverManager管理驱动器,支持驱动器与数据连接的创建。java.sql.Connection代表与某一数据库的连接,支持SQL声明的创建。java.sql.Statement在连接中执行一静态的SQL声明并取得执行结果。java.sql.PreparedStatement是Statement的子类,代表预编译的SQL声明。java.sql.CallableStatement是Statement的子类,代表SQL的存储过程。java.sql.ResultSet代表执行SQL声明后产生的数据结果。存取数据的五个步骤载入JDBC数据库驱动程序取得数据库连接Connection建立statement对象执行sql语句处理结果存取数据库的行为方式我们把数据库的操作分为2大类:query:从数据库中查询,获取资料和信息(select语句)modify:新增、删除和修改数据库中的资料(insert,delete和update)存取数据的第五步骤地操作会不同:query时,JDBC回传结果集(resultset),存储查询结果modify时,JDBC回传受影响的记录数步骤一、载入数据库驱动程序Class.forName(“DRIVER_NAME”).newInstance();这一行程序代码需要做2件事情:载入你所指定的驱动程序向DriverManager注册DriverManager.registerDriver())DRIVER_NAME是你要载入的驱动程序的类别名称,例如:com.mysql.jdbc.Driver步骤二、取得数据库连接Connectionconn=DriveManager.getConnection(url);url的格式,不同的数据库厂商格式不同,需要参考jdbc文件格式。例如,mysql数据库的url格式是:Jdbc:mysql://ip/(db_name)?user=(USER_NAME)&password=(PASSWORD)例如:jdbc:mysql://localhost/nccudb?user=root&password=91753004步骤二、取得数据库连接Connectionconn=DriveManager.getConnection(url,properties),可将特定属性以pertyes的方式传入,这样可以精简url。例如:Propertiesprop=newProperties(); prop.put("user“,”root”);prop.put("password“,”91753004”);//把属性当成第二个参数传入connection=DriverManager.getConnection(“jdbc:mysql://localhost/nccudb”,prop);步骤三、四建立statement对象和执行sql从JDBC的框架知道,有三种不同的statement:statement,preparedstatement和callablestatement1、使用一般的statement对象下执行sql语句如下: //建立Statement对象 Statementstmt=connection.createStatement(); //编写Sql语句 StringSql=“Select*fromproduct”; //执行Sql语句 ResultSetrs=stmt.executeQuery(Sql);步骤三、四建立statement对象和执行sql将可变SQL部分参数化:UPDATEAccountSETBALANCE=XWHEREACCOUNT_ID=Y这个语句每次查询的动作是一样,只有X,Y参数在变,这样可以使用preparedSQL,迫使数据库使用相同的查询语句。2、使用preparedStatement对象对象执行sql语句如下:步骤三、四建立statement对象和执行sql//编写Sql语句StringSql=“Select*fromproduct”;//建立preparedStatement对象PreparedStatementpstmt=connection.prepareStatement(Sql);//执行SqlResultSetrs=pstmt.executeQuery();步骤三、四建立statement对象和执行sql3、使用statement传递参数/建立statement对象Statementpstmt=connection.createStatement();//编辑Sql语句StringSql=“Select*fromuserswhereid=“+inputId+”andpassword=“+inputPassword;//执行sql语句ResultSetrs=pstmt.executeQuery(sql);步骤三、四建立statement对象和执行sql4、使用preparedstatement传递参数//编辑SqlStringSql=“Select*fromuserswhereid=?andpassword=?”;//建立preparedstatementPreparedStatementpstmt=connection.prepareStatement(Sql);//设置参数pstmt.setString(1,inputId);pstmt.setString(2,inputPassword);ResultSetrs=pstmt.executeQuery();//执行Sql步骤五、处理结果modify:会接受到受影响的纪录数,依次判断结果是否正确,做适当处理。query::将结果从recordset中取出放到对应的对象中处理。若是单个纪录,可以用if语句从纪录集中取出;例如:ResultSetrs=pstmt.executeQuery();if(rs.next()){category.setCategoryId(rs.getString("CATID"));category.setDescription(rs.getString("DESCN"));}如是有很多纪录,需要循环,例如:步骤五、处理结果ArrayListlist=newArrayList()ResultSetrs=pstmt.executeQuery();while(rs.next()){Categorycategory=newCategory();category.setCategoryId(rs.getString("CATID"));category.setDescription(rs.getString("DESCN"));category.setImage(rs.getString("IMAGE"));category.setName(rs.getString("NAME"));list.add(category);}数据库连接的另一种方法前面我们说了使用CLASS.FORNAME…..,加上DriverManager.getConnection(…)来取得数据库的连接。在JDBC2.0以上版本,把数据库连接放在JNDI服务器上,程序需要存取数据库时,只要从JNDI服务器中读取JDNI的名字,即可取得连接CONNECTION。Contextenv=(Context)newInitialContext().lookup("java:comp/env"); pool=(DataSource)env.lookup("jdbc/monitor"); conn=pool.getConnection();使用dataSource的优点将数据库的连接从程序代码中分离出来,这样可以很好的管理数据库利用名字可以得到数据库连接,这样改变数据库系统设置,不需要改变程序代码。以resin应用服务器为例,如下所示:Resin数据库连接配置信息数据库的配置信息放在:/web-inf目录下web.xmlWeb.xml文件中数据库连接信息<!--数据库连接--> <resource-ref> <res-ref-name>jdbc/panda</res-ref-name> <res-type>javax.sql.DataSource</res-type> <init-paramdriver-name="org.hsqldb.jdbcDriver"/> <init-paramurl="jdbc:hsqldb:hsql://52"/> <init-paramuser="sa"/> <init-parampassword=""/> </resource-ref>引用数据库连接 //初始化User类的数据库连接 try{ DataSourceds= (DataSource)newInitialContext().lookup( "java:comp/env/jdbc/panda"); Connectionc=ds.getConnection();
Panda.setConnection(c); }catch(Exceptione){ e.printStackTrace(); }SDB数据访问中间件基于java技术实现的科学数据库的中间件平台。该平台实现数据资源的有效管理,并为数据集成提供基础。数据访问中间件就是扩展的JDBC。数据访问中间件UDKUnified-dataDevelopmentKit基于各类目录信息(元数据信息+服务信息+运行时信息+…)提供符合标准JDBC的访问接口提供对关系型数据、文件型数据的封装以数据集为基本单位,提供在网格环境下可访问的数据资源,可称为“网格化数据集”网格化数据集=数据+元数据+中间件基于网格化数据集,未来可实现多个数据集的集成数据访问中间件结构数据访问中间件的优点与JDBC的基本原理一致,开发者容易掌握和使用,通过它很好的访问科学数据库资源。科学数据库是由不同类型的数据库组成,分布在不同位置,诸如现在的数据库有:oracle、mysql、sqlserver等等。通过数据库访问中间件可以屏蔽到数据库的不同。利用数据库访问中间件大大缩短开发周期。数据库访问中间件把不同数据库和不同地方的数据库有机的统一在科学数据库系统中来。四、项目实例开发项目实例开发Eclipse平台下java项目开发常用插件的使用ResinQuantumJunit项目实例开发(熊猫擂台)Eclipse平台下java项目开发常用透视图(现场演示)资源透视图(缺省)Java透视图Java浏览透视图调试透视图常用视图导航器视图大纲视图控制台视图包资源管理器视图层次结构视图编辑器语法突出显示内容/代码辅助代码格式化快速修正集成的调试功能部件Eclipse平台下java项目开发创建java项目编辑java元素创建java包和类查看类层次结构运行和调试java项目Eclipse常用插件的介绍Resin插件—web应用服务器插件Quantum插件—通用数据库客户端插件Junit插件—java单元测试插件Resin插件使用到下载fr.improve.eclipse.resin_0.5.2.zip文件,解压到eclipse软件的plugins目录下,如果eclipse已经启动的话要关闭重新启动。这样resin插件即安装成功;在eclipse主菜单中选择“窗口->首选项”,弹出窗口,多了resin一项;在homedi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国电阻器件行业市场全景调研及投资规划建议报告
- 2025年中国药用胶塞行业发展潜力分析及投资方向研究报告
- 养鸡场建设项目可行性研究报告
- 中国直柄梅花尖尾扳手项目投资可行性研究报告
- 泳圈专用气筒行业行业发展趋势及投资战略研究分析报告
- 环保工程及服务行业全景评估及投资规划建议报告
- 引灌溉用水可行性研究报告
- 铜合金制造项目可行性研究报告
- 2025年毛针织衫羊毛衫项目投资可行性研究分析报告-20241226-191838
- 中国塑料拖项目投资可行性研究报告
- 公司EHS知识竞赛题库附答案
- 社区健康促进工作计划
- 2025年度移动端SEO服务及用户体验优化合同
- 中小学《清明节活动方案》班会课件
- 特殊教育学校2024-2025学年度第二学期教学工作计划
- 宁夏银川一中2025届高三上学期第五次月考数学试卷(含答案)
- 2024年物联网安装调试员(初级工)职业资格鉴定考试题库(含答案)
- 《设备科安全培训》课件
- 延长石油招聘笔试题库
- 人教鄂教版六年级下册科学全册知识点
- 郑州市地图含区县可编辑可填充动画演示矢量分层地图课件模板
评论
0/150
提交评论