本书示例JDeveloper 10g(9.0.5.2版本)
JDeveloper已经内建OC2J,提供J2EE开发能力和应用程序部署能力
OC4J是J2EE应用程序的部署程序
Oracle 10g for Windows安装(Oracle Universal Installer)
Oracle环境变量是记录于Windows系统登录文件(Registry)
只要具备管理员权限即可安装Oracle 10g,不必另外创建安装用的帐号。会自动创建ORA_DBA组群。
基本安装:DBA可以借此快速安装Oracle 10,并设置启动数据库
高级安装:分四种方式,企业版(可执行在线处理OLTP与数据仓储等企业级应用系统)、标准版(专为中小型企业用户定制,提供关系型数据库核心服务与相关选项)、个人版(提供单一用户设置Oracle开发环境)与定制;分别将目标路径和目标名称设置为C:/oracle/ora10g与Oracle_Enterprise,前者相当于ORACLE_HOME环境变量,后者则是ORACLE_HOME_NAME环境变量。选择“企业版”。
创建启动数据库,选择“通用”,创建一般功能性数据库。
指定数据库配置选项,eg:全局数据库名:oradb1.uuu.com. ;SID:oradb1。名称只能包含字母和数字、下划线和#号字符。数据库域不能超过128个字符。
选择数据库管理选项,选择“使用Database Control管理数据库”,启用电子邮件通知可不选。
指定数据库文件存储选项,选择“文件系统”,指定数据库文件位置eg:C/oracle/oradata
指定备份和恢复选项,选择“不启用自动备份”。选择启用备份时,Oracle Enterprise Manager会自动执行备份程序,默认是每日2 A.M.,一般来说,恢复区域所占磁盘空间最少要准备2GB的空间。
指定数据库方案的口令,设置SYS、SYSMAN、DBSNMP和SYSTEM等帐户的口令。口令长度必须介于4-30个字符,不能与用户名称相同,必须是数据库字符集的合法字符,可以包括下划线、金钱符号($)和#号符号,不能是oracle的保留字。选择“所有帐户都使用同一个口令”,然后输入管理员的口令。
执行安装程序,企业版在安装结束前会自动执行三个辅助程序,Oracle Net Configuration Assistant、iSQL*Plus配置辅助程序、Oracle Database Configuration Assistant
口令管理,选择“HR”,可以将其口令设置为hr。
测试安装后的Oracle 10g是否正常运行:
管理工具-服务-OracleServiceORADB1打开设置窗口,管理启动类型以及执行状态。登录Enterprise Manager 10g Database Control,http://oracle服务器名称:5500/em,利用SYS帐户,并以SYSDBA身份登录Oracle数据库。第一次登录,会出现版权声明,点击同意进入,就可以查看数据库的配置信息。登录进入iSQL*Plus服务器,http://oracle服务器名称:5560/isqlplus,以HR帐户尝试登录oracle数据库,输入SELECT employee_id,first_name,salary from employee where employee_id<110,运行查询。开始-所有程序-Oracle-Oracle10g_Enterprise-Application Development-SQL*Plus,输入用户帐号和口令,执行SELECT employee_id,first_name,salary from employee where employee_id<110。
JDeveloper集成开发环境
System Navigator 系统导航栏(以对象种类与Java包来归纳各种物理文件)
Application Navigator 程序导航栏(从应用程序的架构来显示各种Java应用程序组件)
启用“搜索模式”的方式相当容易,只要将鼠标移到“程序导航栏”或是“系统导航栏”内,直接输入欲搜索的文件名程即可。
Connection Navigator 连接导航栏(管理各种服务器连接的工具,包括J2EE应用服务器、数据库连接、SOAP Server、UDDI Registry等)
Structure Window 结构窗口(在“程序导航栏”内打开不同文件时,将根据文件种类显示其相应的内容。)
工具栏:常用的Save All:存储所有文件,Run:执行目前的项目;Debug:开始调试当前的项目。
Component Palette 组件面板(提供许多UI组件,并根据不同函数库予以分类,如Swing组件面板提供javax.swing包中包含的UI组件)
Code Snippets(允许你将某段程序代码事先存储起来,便于以后方便插入这些代码)类似于“程序代码模板”(Code Templates)的技巧。
Palette Properties 自定义组件面板
Code Editor 程序代码编辑器(Tools-Preferences-Code Editor)代码自动完成,上下键选择适当方法,按下Enter键选择。启动参数智能完成功能的快捷键为:Ctrl+Shift+空格键。
Code Templates 程序代码模板,使用时键入fori后按下Ctrl+Enter键,程序自动完成代码,定义中"|"字符代表光标的所在位置。
UI Editor 用户接口编辑器(允许你以可视化方式来配置各式UI组件,点击Design页签)
Class Editor 类编辑器(Class页签)
XML 编辑器:Check XML Syntax(检查目前的文件是否为well-formed XML文件),Auto Indent XML(针对XML元素进行适当的缩排),Locate in Structure(打开“结构窗口”,并显示被选择的XML元素所在位置。)
Property Inspector 属性查看器(包含三个组成要素:Properties页签、Events页签、属性查看器工具栏)
自定义JDeveloper开发环境
更改外观风格:Tools-Preferences-Environment-Look and Feel(更改后,重新启动JDeveloper才会生效)
自定义Code Editor的字体与显示颜色:Preferences-Code Editor-Syntax Colors-选择一种语言,在Editor Sample窗口单击要设置的关键字,分别设置字体样式、颜色和背景。如需更改字体种类和大小,选择Code Editor-Fonts项目中,进行设置。
项目文件(Project File),文件扩展名为.jpr,其内容为XML格式。
工作区文件(Workspace File),扩展名为.jws,其内容也是XML形式,不需要自行编辑,会自动更新。
设置项目属性:Tools-Default Project Properties
设置其他JDK版本:Tools-Default Project Properties-Development-Libraries-New(在新窗口中,Browse按钮选择新版本的java.exe所在位置,)
在JDeveloper中编译Java程序的方法共有两种,分别是Make和Rebuild。
1、Run-Make 文件名称或者Rebulid 文件名称。
2、工具栏上的Make(Ctrl+F9)或者Rebulid(Alt+F9)
3、在“系统导航栏”内选择某个文件,按下鼠标右键选择"Make"或者"Rebulid"。
Rebulid的编译效率通常会低于Make指令。
JDeveloper编译器选项(Tools-Default Project Properties-Development-Compiler)
Show Warnings-Self Deprecation Warnings(程序内如果定义且调用已淘汰的方法或类时,编译器将回应警告信息;此选项默认为"启用"。)
Include Debug Information(要求编译器在创建.class文件时加入局部变量的内容,这么一来调试器将可以在Data窗口内显示局部变量值。通常这个选项在开发过程中启用,等到正式部署应用程序时,应取消此选项,以免增加.class文件的大小。此选项默认为"启用"。)
Obfuscate(编译程序代码的同时会进行"混淆"程序,避免反编译,此选项默认为"为启用"。)
Character Encoding(设置字符集编码方式,可控制编译器如何解译ASCII以外的字符。)
Resource File Types to Copy to Output Directory(指定欲复制到输出路径的文件种类。)
执行Java应用程序:
1、Run-Run 文件名称
2、工具栏的Run图标(F11)
3、在“系统导航栏”内选择某个文件或项目,按下鼠标右键后执行Run命令。
执行时期相关选项(Tools-Default Project Properties-Development-Runner)
JDeveloper调试器与性能调校工具
Debug工具栏
Debug 项目名称:针对某个项目开始调试,程序会停止在第一个断点。
Resume:继续调试程序,直到下一个断点。
Step Over:直接执行目前的方法,然后前往下一行(调试器不会进入方法内部)
Step Out:离开目前的方法,回到调用此方法的位置。
Step to End of Method:执行到目前方法的结尾初。倘若在结尾处之前已设置一个断点,则会先停止在断点
Pause:暂停调试会话
Terminate:结束调试会话
Garbage Collection:启动“垃圾回收机制”,并将结果显示于Classes窗口
Debug菜单(未包含在Debug工具栏中的调试指令)
Debug 文件:针对被选择的文件打开调试会话。
Detach:停止调试会话,但是不停止程序的运行;适用于远程调试程序。
Continue Step:当程序停止在某个断点时,继续下一个调试步骤。
Run to Cursor:让程序执行到目前游标位置
Set Next Statement:设置下一次要执行的语句
Find Execution Point:寻找"执行点"
Breakpoints 窗口:管理应用程序内所有断点(创建、编辑或删除断点;创建断点组群;启用或停用某个断点。View-Debugger-Breakpoints打开。)
Classes 窗口:显示调试会话中将会跟踪的类和包(View-Debugger-Classes打开。)
Heap 窗口:监视对象或阵列的内存配置情况(View-Debugger-Heap 打开。)
Monitors 窗口:跟踪不同线程的运行状态,以及数据间的同步过程。(View-Debugger-Monitors)
Stacks 窗口:显示目前调用的方法栈,或是特定线程的内容(View-Debugger-Stacks)
Threads 窗口:显示应用程序的所有线程与其状态(View-Debugger-Threads)
Watches 窗口:监视某个运算符的执行结果(View-Debugger-Watches,另一种定义“监视点”的方式是在Code Editor内按下鼠标右键,选择Watch,或者按下Ctrl+F5快捷键。)
Smart Data 窗口:显示目前正在执行的程序代码含有哪些变量、常量或是自变量
Data:显示目前正在执行的方法内使用了哪些变量、常量或是自变量
设置断点
1、在Code Editor左侧灰色区域选择要设置“断点”的行号,被设置“断点”的行号将变成一个红色小圆圈
2、在Breakpoints 窗口内设置断点
启动调试会话
1、Debug 菜单的Debug 文件名称 或者Debug 项目名称
2、工具栏的Debug小图标
3、在“系统导航栏”内选择某个文件,按下鼠标右键后选择Debug
Profiler是JDeveloper内相当重要的性能调校工具。可以检测系统资源的使用情况,针对程序进行微调,以达到性能最优化之目的。
设置Profiler,Tools-Project Properties-Profiler节点的Event(可以回报应用程序内各事件所消耗的时间)、Execution(显示应用程序内各线程的执行时间)与Memory(对固定周期内针对内存的使用情况进行取样)项目分别设置。
启动Profiler,Run-Event Profile 项目名称
CodeCoach可以对你的程序进行全面分析,提出适当建议,目的协助你撰写出更高品质、执行性能更佳的应用程序。能够找出程序代码中不易发觉的细微缺陷并予以修正,对于应用程序最优化而言,这确实是一项相当实用的调校工具。
启动CodeCoach,Run-CodeCoach 项目名称,会自动的将分析结果显示与日志窗口的Results页签。藉由CodeCoach的建议事项,我们可以了解哪些程序代码撰写不良,并予以修改。
Go to Source:JDeveloper会自动将光标移到与此警告信息相关的程序代码处,方便进行修改。
Apply Fix to Source:必要时,可以让CodeCoach自动更改程序代码。
Oracle JDBC驱动程序的下载网址为:
http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html
(如果你想连接Oracle 10g以后的数据库,最好使用新版的JDBC驱动程序)
JDBC API 由Java撰写而成,设计理念也是以ODBC为基础,并保留ODBC的某些基本特性。可以将JDBC API想象成“高级的ODBC API面向对象版本”。
在JDeveloper内设置新版JDBC驱动程序
Tools-Manage Libraries-Libraries页签,选择左侧“System Libraries”节点,在点击右下角“New”按钮,修改Library Name字段,选择Class Path旁边的Edit按钮,把路径指向到ojdbc.jar的路径。
项目中使用新版JDBC驱动,程序,项目-Project Properties-Labraries-选中新的Available Libraries,添加即可。再执行8-1的TestConnection.java程序即可看到结果。
Connection Navigator(连接导航栏)-Database节点-New Database Connection-命名连接名称-用户名、密码-填写机器名-测试连接。
在“连接导航栏”内使用“工具栏的”Apply Filter(过滤器),在Displayed Object Types窗口中只保留Sequences、Tables、Triggers、Views、Produces五种。
使用SQL Worksheet(针对特定表执行SQL语句,每次只能执行一个SQL语句)
启动方式,在“连接导航栏”内选择适当的数据库连接,单击鼠标右键,选择“SQL Worksheet”。
表的字段定义
PK:代表该表的主键(Primary Key)
Name:表的字段名称
Type:字段的数据类型
Size:字段的长度
Scale:字段所允许的小数位数
Not NULL:是否允许NULL值存放
Fetch Size:欲抽取的数据笔数
两种临时表
Transaction:数据只会保留到处理结束。
Session:内容会保留到连接阶段结束。
字段的四种约束条件:
PRIMARY KEY 主键字段,不能重复、不得为NULL
FOREIGN KEY 外键字段,必须参照其他表的主键字段
UNIQUE 值必须唯一
CHECK 值必须遵循某个数据检查规则。EG,性别字段只能存放F或M
视图需具备的特性,分为:Read Only(只读)、Check Option(限制用户通过视图进行修改数据操作的限制条件。时,不能违背WHERE子句)
触发器的种类:分为Table、View、Schema、Database四种。
启动PL/SQL存储过程调试
选择一个存储过程,右键选择Debug。不过第一次在JDeveloper内启动PL/SQL调试阶段时,“日志窗口”将返回错误信息(“权限不足”)。此时你必须以系统管理员身份(例如SYS)将DEBUG CONNECT SESSION和DEBUG ANY PROCEDURE权限赋予HR。方式如下,打开SQL*Plus,利用SYS用户登录Oracle数据库(需以SYSDBA身份登录),执行下列命令(GRANT DEBUG CONNECT SESSION,DEBUG ANY PROCEDURE TO hr;)
调试存储过程,设置断点,Breakpoints、Data调试窗口,调试工具栏(Resume、Step Over、Step Into),结束调试。
存储过程是在Oracle数据库服务器端执行的,藉由JDeveloper的PL/SQL调试机制,可以跟踪存储过程的每行程序代码、查看所有变量的最新状态,甚至控制程序的流程,找出程序内隐藏的逻辑错误。
Embedded OC4J(默认的端口为8988)
Auto Indent JSP自动缩排与格式化功能
JDeveloper 10g支持五种应用程序服务器连接,分别是Standalone OC4J,Oracle Application Server,WebLogic,Tomcat和JBoss。
想要开发Struts应用程序并不容易,最困难的地方在于如何正确配置struts=config.xml。如果不小心设错forward,会导致网页流程发生问题。