`
gavinju
  • 浏览: 31311 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JDeveloper 11g

阅读更多
 

1.       ADF 实践<o:p></o:p>

<o:p> </o:p>

1.1.       简言

ADF实践__JDeveloper<st1:chmetcnv w:st="on" unitname="g" sourcevalue="10" hasspace="False" negative="False" numbertype="1" tcsc="0">10g</st1:chmetcnv>JDeveloper<st1:chmetcnv w:st="on" unitname="g" sourcevalue="11" hasspace="False" negative="False" numbertype="1" tcsc="0">11g</st1:chmetcnv>

    日前,本人分别在JDeveloper<st1:chmetcnv w:st="on" unitname="g" sourcevalue="10" hasspace="False" negative="False" numbertype="1" tcsc="0">10g</st1:chmetcnv>JDeveloper<st1:chmetcnv w:st="on" unitname="g" sourcevalue="11" hasspace="False" negative="False" numbertype="1" tcsc="0">11g</st1:chmetcnv>上做了个ADF数据库应用的小DEMO.感觉<st1:chmetcnv w:st="on" unitname="g" sourcevalue="10" hasspace="False" negative="False" numbertype="1" tcsc="0">10g</st1:chmetcnv><st1:chmetcnv w:st="on" unitname="g" sourcevalue="11" hasspace="False" negative="False" numbertype="1" tcsc="0">11g</st1:chmetcnv>存在着比较大的差异.首先: <st1:chmetcnv w:st="on" unitname="g" sourcevalue="11" hasspace="False" negative="False" numbertype="1" tcsc="0">11g</st1:chmetcnv>在原有功能上增加了对Ajax功能的支持,可以说功能更加强大,但在实际使用中,我觉得<st1:chmetcnv w:st="on" unitname="g" sourcevalue="10" hasspace="False" negative="False" numbertype="1" tcsc="0">10g</st1:chmetcnv>的使用性更好,更易于开发.或许是因为<st1:chmetcnv w:st="on" unitname="g" sourcevalue="11" hasspace="False" negative="False" numbertype="1" tcsc="0">11g</st1:chmetcnv>新增的功能吧,未能深入了解到.以下几点,是我在做此DEMO过程中遇到的问题.

<o:p> </o:p>

1.2.       <st1:chmetcnv w:st="on" unitname="g" sourcevalue="10" hasspace="False" negative="False" numbertype="1" tcsc="0">10g</st1:chmetcnv><st1:chmetcnv w:st="on" unitname="g" sourcevalue="11" hasspace="False" negative="False" numbertype="1" tcsc="0">11g</st1:chmetcnv>问题简要汇总

1.TopLink表关系影射生成POJO对象问题

USERS表结构:

CREATE TABLE USERS (

    USER_ID NUMBER(8,0) NOT NULL,

    USER_ROLE VARCHAR2(10) NOT NULL,

    EMAIL VARCHAR2(50) NOT NULL,

    FIRST_NAME VARCHAR2(30) NOT NULL,

    LAST_NAME VARCHAR2(30) NOT NULL,

    STREET_ADDRESS VARCHAR2(40) NOT NULL,

    CITY VARCHAR2(30) NOT NULL,

    STATE_PROVINCE VARCHAR2(25),

    POSTAL_CODE VARCHAR2(12),

    COUNTRY_ID CHAR(2)

    )

    NOLOGGING

    INITRANS 1

    MAXTRANS 255

    STORAGE (

        INITIAL 64K

        MINEXTENTS 1

        MAXEXTENTS 2147483645);

<o:p> </o:p>

<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="WIDTH: 314.25pt; HEIGHT: 269.25pt" type="#_x0000_t75"><v:imagedata o:title="T1" src="file:///C:\DOCUME~1\BeanSoft\LOCALS~1\Temp\msohtml1\01\clip_image001.gif"></v:imagedata></v:shape>

JDeveloper <st1:chmetcnv w:st="on" unitname="g" sourcevalue="10" hasspace="False" negative="False" numbertype="1" tcsc="0">10g</st1:chmetcnv>:

其通过TopLink可生成类Users.java

表字段:userId生成属性: private Integer userId;

而在JDeveloper <st1:chmetcnv w:st="on" unitname="g" sourcevalue="11" hasspace="False" negative="False" numbertype="1" tcsc="0">11g</st1:chmetcnv> :

竟然是: private BigDecimal userId;<o:p></o:p>

2.Create Object-Relational Map

我在用TopLink从数据表生成对象POJO时,

<st1:chmetcnv w:st="on" unitname="g" sourcevalue="10" hasspace="False" negative="False" numbertype="1" tcsc="0">10g</st1:chmetcnv>中,选择DataModel(表示了应用的数据模型,应用系统通过DataModel来执行数据访问操作。) –-  New --  Business Tier – TopLink – Java Objects from Tables.

如下图:可以通过Connection下拉列表选择我们之前建立的数据库链接。

<v:shape id="_x0000_i1026" style="WIDTH: 452.25pt; HEIGHT: 306pt" type="#_x0000_t75"><v:imagedata o:title="1" src="file:///C:\DOCUME~1\BeanSoft\LOCALS~1\Temp\msohtml1\01\clip_image002.png"></v:imagedata></v:shape>

<o:p> </o:p>

<st1:chmetcnv w:st="on" unitname="g" sourcevalue="11" hasspace="False" negative="False" numbertype="1" tcsc="0">11g</st1:chmetcnv>中,我们通过此操作,在Connection: 下拉列表中是选不到之前建立的数据库链接的. 需要我们在Database Navigator面板中选中我们建立的数据库链接,将其拖动到

Project面板中的DataModel上。这时我们才能使用之前建立的数据库链接。

个人认为: <st1:chmetcnv w:st="on" unitname="g" sourcevalue="10" hasspace="False" negative="False" numbertype="1" tcsc="0">10g</st1:chmetcnv>中,建立的Connection,将为所有的工程共同使用。

而在<st1:chmetcnv w:st="on" unitname="g" sourcevalue="11" hasspace="False" negative="False" numbertype="1" tcsc="0">11g</st1:chmetcnv>中,数据库链接独立于所有工程,需手动将其应用于现有工程。

<v:shape id="_x0000_i1027" style="WIDTH: 484.5pt; HEIGHT: 404.25pt" type="#_x0000_t75"><v:imagedata o:title="2" src="file:///C:\DOCUME~1\BeanSoft\LOCALS~1\Temp\msohtml1\01\clip_image004.png"></v:imagedata></v:shape>

<o:p> </o:p>

<o:p> </o:p>

后表之间关系的生成机制

通过TopLink由表影射生成POJO对象.表之间的关系,<st1:chmetcnv w:st="on" unitname="g" sourcevalue="10" hasspace="False" negative="False" numbertype="1" tcsc="0">10g</st1:chmetcnv><st1:chmetcnv w:st="on" unitname="g" sourcevalue="11" hasspace="False" negative="False" numbertype="1" tcsc="0">11g</st1:chmetcnv>,TopLink的处理机制有所不同:

<st1:chmetcnv w:st="on" unitname="g" sourcevalue="10" hasspace="False" negative="False" numbertype="1" tcsc="0">10g</st1:chmetcnv>:

    private List expertiseAreasCollection;

    private List serviceRequestsCollection;

    private Integer prodId;

    private String name;

    private String image;

    private String description;

<v:shape id="_x0000_i1028" style="WIDTH: 229.5pt; HEIGHT: 301.5pt" type="#_x0000_t75"><v:imagedata o:title="2" src="file:///C:\DOCUME~1\BeanSoft\LOCALS~1\Temp\msohtml1\01\clip_image006.png"></v:imagedata></v:shape>

<o:p> </o:p>

<o:p> </o:p>

<st1:chmetcnv w:st="on" unitname="g" sourcevalue="11" hasspace="False" negative="False" numbertype="1" tcsc="0">11g</st1:chmetcnv>:

<v:shape id="_x0000_i1029" style="WIDTH: 224.25pt; HEIGHT: 425.25pt" type="#_x0000_t75"><v:imagedata o:title="3333333333333333" src="file:///C:\DOCUME~1\BeanSoft\LOCALS~1\Temp\msohtml1\01\clip_image008.png"></v:imagedata></v:shape>

关于Products.java,其中生成的属性为:

    private Collection expertiseAreasCollection;

    private Collection serviceRequestsCollection;

    private BigDecimal prodId;

    private String name;

    private String image;

private String description;

<o:p> </o:p>

: <st1:chmetcnv w:st="on" unitname="g" sourcevalue="10" hasspace="False" negative="False" numbertype="1" tcsc="0">10g</st1:chmetcnv>,关于表之间影射关系(1对多,多对1,)生成的集合类为List<o:p></o:p>

   <st1:chmetcnv w:st="on" unitname="g" sourcevalue="11" hasspace="False" negative="False" numbertype="1" tcsc="0">11g</st1:chmetcnv>,生成的集合类为Connection.<o:p></o:p>

   List是链表,Collection是集合,List抽象层次更高.List可以按照索引单独访问一组对象, Collection可以用foreach循环访问其中的元素,<o:p></o:p>

List执行效率应该比Collection更高,实际中使用List的情况应该更多.<o:p></o:p>

不知道为什么<st1:chmetcnv w:st="on" unitname="g" sourcevalue="11" hasspace="False" negative="False" numbertype="1" tcsc="0">11g</st1:chmetcnv>生成的属性均为Collection?有待于进一步研究.   <o:p></o:p>

代码生成机制,代码格式化效果

<st1:chmetcnv w:st="on" unitname="g" sourcevalue="10" hasspace="False" negative="False" numbertype="1" tcsc="0">10g</st1:chmetcnv>,代码格式化效果更好,<st1:chmetcnv w:st="on" unitname="g" sourcevalue="11" hasspace="False" negative="False" numbertype="1" tcsc="0">11g</st1:chmetcnv>智能,不知<st1:chmetcnv w:st="on" unitname="g" sourcevalue="10" hasspace="False" negative="False" numbertype="1" tcsc="0">10g</st1:chmetcnv><st1:chmetcnv w:st="on" unitname="g" sourcevalue="11" hasspace="False" negative="False" numbertype="1" tcsc="0">11g</st1:chmetcnv>代码格式化使用的是何插件?如何控制代码生成规则?

,<st1:chmetcnv w:st="on" unitname="g" sourcevalue="10" hasspace="False" negative="False" numbertype="1" tcsc="0">10g</st1:chmetcnv>,

Public  Integer  getNextLineItem(){

}

方法中的{},在输入完{},光标停留在大括号之间,按回车键,代码格式自动整理好,如上.另起一行对其. <st1:chmetcnv w:st="on" unitname="g" sourcevalue="11" hasspace="False" negative="False" numbertype="1" tcsc="0">11g</st1:chmetcnv>, 回车后,下行代码空出两个字符.

Public  Integer  getNextLineItem(){

}

以上可见,<st1:chmetcnv w:st="on" unitname="g" sourcevalue="10" hasspace="False" negative="False" numbertype="1" tcsc="0">10g</st1:chmetcnv>中的效果更佳.

Defining Page Flow and Navigation

<st1:chmetcnv w:st="on" unitname="g" sourcevalue="10" hasspace="False" negative="False" numbertype="1" tcsc="0">10g</st1:chmetcnv><st1:chmetcnv w:st="on" unitname="g" sourcevalue="11" hasspace="False" negative="False" numbertype="1" tcsc="0">11g</st1:chmetcnv>,关于页面Diagrampage创建过程稍有不同.此差别来源于所用视图层开发控件的变化<st1:chmetcnv w:st="on" unitname="g" sourcevalue=".1" hasspace="False" negative="False" numbertype="1" tcsc="0">.10g</st1:chmetcnv>中视图层开发的组件库主要为: ADF Faces Components;

ADF Faces HTML; JSF Core; JSF HTML.

: <st1:chmetcnv w:st="on" unitname="g" sourcevalue="10" hasspace="False" negative="False" numbertype="1" tcsc="0">10g</st1:chmetcnv>,Components组件面板中选择ADF Faces Core,可以使用控件: PanelPage,

如图1: SRDemoTemplate.jspx

分享到:
评论
1 楼 jichongchong 2007-07-09  
前两年用过,文档少啊

相关推荐

    JDeveloper 11g Overview

    综上所述,Oracle JDeveloper 11g 不仅是一款强大的开发工具,而且还是构建基于 Oracle ADF 的现代应用程序的理想选择。通过其丰富的特性和对多种技术的支持,JDeveloper 能够帮助开发者高效地完成从设计到部署的全...

    Oracle JDeveloper 11g 快捷键

    在网上没有找到关于JOracle JDeveloper 11g 快捷键的整理,所以个人整理了一下,有兴趣可参考。

    oracle jdeveloper 11g 教程

    Oracle JDeveloper 11g 是一个强大的集成开发环境(IDE),专为构建Java应用程序和Oracle融合中间件解决方案而设计。本教程将引导你了解JDeveloper 11g 11.1.1.2.0的主要组件,并教你如何利用它们创建一个基本的Java...

    Oracle JDeveloper 11g Handbook A Guide to Fusion Web Development

    《Oracle JDeveloper 11g Handbook: A Guide to Oracle Fusion Web Development》是一本全面介绍Oracle JDeveloper 11g及其在Oracle Fusion Web开发中的应用的专业指南。本书由两位经验丰富的作者共同撰写:Duncan ...

    Oracle JDeveloper 11g Handbook - A Guide to Fusion Web Development

    《Oracle JDeveloper 11g Handbook - A Guide to Fusion Web Development》是一本专注于使用Oracle JDeveloper 11g进行Fusion Web开发的专业指南。本书不仅为开发者提供了全面的技术指导,还深入介绍了Oracle ...

    oracle jdeveloper 11g 资源国际化

    Oracle JDeveloper 11g是一款强大的Java集成开发环境(IDE),专为构建企业级应用程序而设计,特别是基于Oracle Application Development Framework (ADF)的应用程序。在国际化(i18n)方面,JDeveloper提供了全面的...

    Jdeveloper 11g(11.1.1.6.0)连接SVN2.0

    本文将详细介绍如何使用JDeveloper 11g (11.1.1.6.0) 连接并操作SVN 2.0。 ### 在 JD 中使用 SVN 的目的 1. **版本控制**:通过与SVN的集成,JDeveloper能够追踪代码的修改历史,提供不同版本之间的比较和合并功能...

    JDeveloper_11g中文视屏

    JDeveloper 11g是Oracle公司推出的一款强大的Java集成开发环境(IDE),专为构建企业级应用而设计。这款工具支持多种技术,包括Java EE、SOA、ADF(Oracle Application Development Framework)等,为开发者提供了一...

    Oracle ADF JDeveloper10g应用到11g迁移(中英文对照)

    在从Oracle ADF JDeveloper 10g迁移到11g的过程中,开发者会面临一系列的技术挑战和步骤,这些都将在"10g到11g迁移文档"中详细阐述。 1. **版本差异**:Oracle ADF 11g引入了新的功能和改进,如增强的数据可视化、...

    Oracle_JDeveloper_11g_ADF_Sample学习啦

    #### 一、Oracle JDeveloper 11g与ADF概述 **Oracle JDeveloper 11g**是一款强大的集成开发环境(IDE),专门用于构建企业级应用,包括Web应用程序、服务端应用和服务导向架构(SOA)解决方案。它支持Java EE标准,...

    Packt.Processing.XML.documents.with.Oracle.JDeveloper.11g

    《使用Oracle JDeveloper 11g处理XML文档》一书由Deepak Vohra撰写,深入探讨了在Oracle集成开发环境(IDE)中创建、验证和转换XML文档的方法与技术。此书为读者提供了全面而深入的理解,涵盖了从基本概念到高级应用...

    Packtpub.Processing.XML.documents.with.Oracle.JDeveloper.11g.May.2009.rar

    标题 "Packtpub.Processing.XML.documents.with.Oracle.JDeveloper.11g.May.2009.rar" 暗示我们关注的是一个关于使用Oracle JDeveloper 11g处理XML文档的教程或指南,发布于2009年5月。这个压缩包可能包含了详细的...

    迁移JDeveloper 10.1.3 版本 SRdemo示例到 JDeveloperADF 11g

    这篇文章主要讲解了如何将一个基于ADF 10.1.3的JSF应用程序,特别是使用ADF Faces组件的应用,迁移到JDeveloper 11g的环境中。作者Steve Muench是ADF开发团队的一员,他在2009年6月26日发布了这个1.4版的迁移指南。 ...

    Oracle Jdeveloper 10g教程

    Oracle JDeveloper 10g是一款强大的集成开发环境(IDE),专为构建Java应用程序和Web服务而设计,尤其在Oracle应用服务器上表现卓越。这个工具集成了设计、编码、调试、测试和部署等整个开发过程,使得开发人员可以...

    Oracle XML Publisher与JDeveloper 10g集成

    将Oracle XML Publisher与JDeveloper 10g集成,可以充分利用两者的优势,为开发人员提供一个高效的工作流程,用于设计、开发和部署复杂的业务报告。 集成过程主要包括以下几个关键步骤: 1. **安装和配置**:首先...

    Oracle Jdeveloper 10g开发手册

    Oracle JDeveloper 10g是一款强大的集成开发环境(IDE),专为构建Java应用程序和Web应用程序设计,特别是针对Oracle技术栈。这款工具集成了多种功能,包括代码编辑、调试、性能分析、版本控制以及应用程序服务器的...

    Oracle JDeveloper 11gR2 Cookbook(PACKT,2012)

    Oracle's Application Development Framework ... By implementing a range of real world use cases, you will gain invaluable and applicable knowledge for utilizing the ADF framework with JDeveloper 11gR2.

    JDeveloper_11g介绍

    oracle相关开发工具介绍

    oracle 9i jdeveloper 的安装与基本使用技巧

    Oracle 9i JDeveloper 是一款强大的集成开发环境(IDE),专为构建Oracle数据库应用程序而设计。这个工具集成了多种功能,包括设计、开发、调试和部署,为Java开发者提供了全面的支持。以下是对Oracle 9i JDeveloper...

Global site tag (gtag.js) - Google Analytics