扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本文中,将创建一个用于访问数据库的 Web 应用程序。在该 Web 应用程序中,将使用 IDE 从数据库生成实体类,然后创建一个 Servlet 来显示信息。
先决条件
本文假定您已具备了以下技术的一些基本知识或编程经验:
本教程所需的软件
在学习之前,您需要在计算机中安装以下软件:
为 IDE 配置应用服务器
在学习本教程之前,必须在 IDE 中注册 Sun Java System Application Server Platform Edition 9 的实例。在本练习中,我们将在 IDE 中注册 Sun Java System Application Server。
建立 Web 应用程序项目
在 NetBeans IDE 5.0 快速入门中,我们创建了一个具有 EJB 模块和 Web 模块的完整企业应用程序。之所以这样做是因为:在 J2EE 1.4 平台中进行开发时,必须将实体 Bean 和会话 Bean 放置在 EJB 模块中。要从 Web 模块访问实体 Bean,我们必须添加查询代码。
而在 Java EE 5 平台上开发的示例中,不需要开发完整的企业应用程序,因为我们不需要 EJB 模块或会话 Bean。只需创建一个简单的 Web 应用程序,然后将实体类直接放置在该 Web 应用程序中即可。
对 Web 应用程序进行编码
与在 J2EE 1.4 平台中创建 Web 应用程序相比,在 Java EE 5 平台中进行 Web 应用程序编码要更快、更容易。但是我们仍然需要进行一些基本的设置,如建立数据库连接,但是在创建连接池和数据源后,开发工作会变得更容易,这是因为在 Java EE 5 平台中进行开发时,容器可以完成更多的工作。
由于容器具有持久性管理功能,因此,我们不需要编辑用来配置 CMP 映射或指定 finder 方法的部署描述符。实际上,我们在本示例中根本不需要任何部署描述符。在 Java EE 5 平台中,持久性不再局限于 EJB 组件。Java EE 5 引入了 Java 持久性 API,非 EJB 组件(如 Web 应用程序)也可以使用它。
此外,使用 Java EE 5 技术时,您不再需要 J2EE 1.4 开发中所需的许多样板代码。由于简化了 EJB 开发,因此只需很少的接口,查询也变得更为简单了,并且通过标注方式,组件定义和资源注入变得简单而清晰。
管理持久性
在 NetBeans IDE 5.0 快速入门中,我们创建了 CMP 实体 Bean 并在 ejb-jar.xml 中定义了部署描述符,用来管理持久性和对象关系映射。在 Java EE 5 平台中进行开发时,我们不再需要使用部署描述符为容器提供管理持久性的信息,只需创建持久性单元,指定要使用的数据源和实体管理器,然后让容器完成管理实体和持久性的工作即可。容器会在运行时发现实体 Bean。
持久性单元的创建可以通过在 persistence.xml 中定义来完成。如果项目或模块中不存在 persistence.xml,则需要创建该文件。可以通过“新建持久性单元”向导将持久性单元添加到项目中,该向导将有助于我们创建 persistence.xml 并定义持久性单元的属性。注意:也可以在“新建 - 实体类”向导中创建持久性单元。创建实体类时,如果不存在持久性单元,该向导将提示我们进行创建。
单击“完成”后,将为项目创建 persistence.xml,并在源代码编辑器中将其打开。通过单击源代码编辑器工具栏中的 "XML",可以查看 persistence.xml 的 XML 视图。此文件包含了 Java EE 5 容器管理应用程序的实体和持久性所需的所有信息。
创建实体类
在 J2EE 1.4 平台中进行开发时,创建实体 Bean 后会将它们放置在 EJB 模块中,即使应用程序是简单的 Web 应用程序也是如此。每个实体 Bean 需要若干个接口,而且您必须在 ejb-jar.xml 中配置部署描述符以定义实体 Bean 以及每个实体 Bean 的接口、持久性和 finder 查询。
在 Java EE 5 中,我们可以使用简单的实体类,而且可以将实体类放置在 Java EE 5 应用程序中的任意位置,而不是创建实体 Bean 并将它们放置在 EJB 模块中。同时,为 Java EE 5 应用程序编写类要比在 J2EE 1.4 平台中编写类更容易,因为您可以使用标注来定义组件和注入资源。
现在我们将使用“新建 - 通过数据库生成实体类”向导来基于关系数据库创建实体类。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者