暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle ADF对单表实现增删改查

ShrMus 2018-10-11
185

这篇文章用来熟悉JDeveloper工具和ADF框架。


新手上路学Oracle ADF框架,怀着激动地心情敲下了这一篇文章。


一、新建应用程序

新建应用程序。选择Fusion Web Application


1.1 填写应用程序名。


1.2填写项目名


1.3 填写包名


1.4 填写项目名


1.5 填写包名


二、新建EOVOAM

右击Model-->New,选择Business Tier-->ADF Business Component-->Business Component from Table


选择数据库连接,如果之前没有建立IDE级的数据库连接就点击加号。


填写连接信息。


填写好之后点击Test Connection按钮,如果是Success,点击OK,如果出现了其他错误,就要自己排查原因了,比如Oracle服务没开,账号没解锁,用户的角色问题等等。我遇到过一个问题Test Failed: ORA-01031: insufficient privileges,用scott账号连接,Role选的SYSDBA出现了这个错误。这里的Role可以什么都不选。只有用sys或者system账号连接的时候选。



2.1 新建EO


点击Query按钮,查找HR用户所有的表。在Available中选择DEPARTMENTS,点击向右的箭头,则这个表被选中,修改Entity NameDepartmentsVO


2.2 新建VO

根据EO新建VO,也是在Available中选择DepartmentsEO,点击向右的箭头,修改Object NameDepartmentsVO


新建只读VO,这一步直接点击Next,当前不需要。


2.3 新建AM

新建AM,修改一下AM的包名和名字。然后点击Finish


三、逻辑处理

双击打开ViewController-->Web COntent-->WEB-INF-->adfc-config.xml文件。


Component Palette中的Components拖动一个View组件到文件中。


双击文件中的图标,修改文件名和文件路径,如果没有勾选Create as XML Document,就手动勾选。


3.1 查询功能

DataControls中的DepartmentsVO1拖动到list.jspx中。如果DataControls中什么都没有就点击一下右边刷新的图标。拖动到list.jspx之后在快捷菜单中选择Table/List View-->ADF 


选择Single Row


右击list.jspx,选择Debug


第一次运行会要输入weblogic的密码。访问地址和监听端口。




服务器启动之后会在控制台打印访问的路径,还会自动打开浏览器来访问这个页面。




3.2 新增功能



把服务器停掉。再打开adfc-config.xml文件。


拖动一个viewadfc-config.xml中,修改文件名为edit.jspx


DepartmentVO1拖动到edit.jspx中。


在快捷菜单中选择Form-->ADF Form点击OK


添加CommitRollback。用来提交事务和回滚事务。


快捷菜单选择ADF ButtonADF Link也可以。


CreateInsert拖动到list.jspx中。



接下来要做到点击list.jspx中的CreateInsert跳转到edit.jspx页面。

edit.jspx页面点击CommitRollback跳转到list.jspx页面。


再次打开adgc-config.xml。选择Control Flow Case


选择之后点击起始页面和终止页面。填写映射地址。


打开list.jspx,点击Source,在源代码中,将CreateInsert按钮添加action属性,属性值为edit

        <af:commandButton actionListener="#{bindings.CreateInsert.execute}"
                          text="CreateInsert" action="edit"
                          disabled="#{!bindings.CreateInsert.enabled}"
                          id="cb1"/>

复制


打开edit.jspx,点击Source,在源代码中,将CommitRollback添加action属性,值为back

        <af:commandButton actionListener="#{bindings.Commit.execute}"
                          text="Commit" disabled="#{!bindings.Commit.enabled}"
                          id="cb1" action="back"/>
        <af:commandButton actionListener="#{bindings.Rollback.execute}"
                          text="Rollback"
                          disabled="#{!bindings.Rollback.enabled}"
                          immediate="true" id="cb2" action="back">

复制


右击list.jspx选择Debug启动。


启动之后点击CreateInsert。跳转到新增的页面。


在新增页面填写信息。点击Commit


跳转回查找页面,可以看到刚刚新增的数据已经有了。


数据库中也有了这个数据。


3.3 修改功能

打开list.jspx。选择表格,在表格的右上角有个向下的箭头,点击这个箭头,选择Insert inside -> Column


表格多了一列,然后把这一列拖到第一列。


右击第一列,选择Go to Properties


拖动一个Button操作这一列。修改Text编辑。修改Actionedit


然后右击list.jspx-->Debug




页面上的效果。



编辑刚刚添加的那条数据。


跳转到编辑页面。修改DepartmentNamehaha。点击Commit


如果按钮失效了,打开Sources,将CommitRollback按钮中的disabled="#{!bindings.Commit.enabled}"删掉。


数据库中的已经修改了。


3.4 删除功能

Delete拖动到操作这一列中。修改Text为删除。


再添加CommitRollback。修改为提交和回滚。


右击list.jspx-->Degub



现在删除DepartmentId12的数据。点击删除按钮。查看数据库。


数据库中还有这条数据。原因是没有提交事务。点击提交按钮。再次查询数据库。数据库中的数据被删除了。


3.5 分页

list.jspx中选择表格,修改属性ScrollPolicypage


修改AutoHeightRows0FetchSize10


分页效果。


Oracle ADF的一个特性就是声明式和可视化,没写一句Java代码实现了单表增删改查。


文章转载自ShrMus,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论