快速业务通道

在Visual Web应用程序中使用Java Persistence API - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-18
API,可以使用 JPA 让应用程序绕 过 Visual Web 数据提供者组件直接与底层数据库通信。

使用 Java Persistence API 有许多好处。第一,JPA 是一个简单且轻量型的编程模 型,其中 POJO(plain old Java object)是“一类居民”。

将实体对象作为 POJO 处理可以引起使用 Java Persistence API 的其他好处。由于 实体是 POJO,一个实体类可以扩展另一个实体类或非实体类,一个非实体类也可以可以 扩展实体类。作为 POJO,实体类可以被序列化并通过网络发送到其他地址空间,也可以 用于不支持持久性的环境中。从而无需使用任何特定的数据转换对象将实体发送到远程位 置。

借助 Java Persistence API,可以使用标准应用程序编程接口来执行与实体相关的典 型数据库操作(Create/Read/Update/Delete 或 CRUD 操作)。还改善了应用程序的可移 植性。由于第三方持久提供者更容易为数据库系统开发或提供插件,所以不用考虑应用程 序的可移植性就可以将不同的 Java EE 容器与不同的系统组合起来。

另外,可以使用底层数据库的本机查询语言来执行查询。而且,也简化了使用 Java Persistence API 的实体打包规则。如果应用程序具有较高的事务性需求,那么使用 JPA 也许更好,因为它支持乐观锁定(也就是说,它避免了会影响到性能的锁定),但是与其 他用户的冲突可能会引起一些事务的失败。

关于 Java Persistence API 的更多信息,请参阅文章 “Java Persistence API:一个更简单的实体持久性编程模型”。

关于 Java Persistence API 的深入指导,请参阅文章 在桌面应用程序中使用持久性 API。

创建数据库表

以下的逐步指导假设您已经设置了一个叫做 sample 的数据库,其中包括一个叫做 Users 的数据库表。 Users 表应该有 4 列,如下:

user_id - 主键;类型:整型

userName - 类型:字符串

password - 类型:字符串

email_address - 类型:字符串

执行 SQL 语句

可以使用 Services 窗口中的 Databases 节点将 Users 表添加到 sample Derby 数 据库。可以从一个文件执行 SQL 脚本创建此表或者单独执行每行 SQL 代码。Services 窗口(以前称作 Runtime 窗口)中的数据库表节点上下文菜单函数包括用于创建新表和 执行 SQL 代码的函数。

在Visual Web应用程序中使用Java Persistence API - 编程入门网

图 1:SQL 执行命令

Execute Command 功能打开一个 Editor 窗口,可以向其中输入一行或多行 SQL 代码 。单击 Run 按钮执行窗口的内容。请确保 Connection 字段指示您已连接到 sample 数 据库。

在Visual Web应用程序中使用Java Persistence API - 编程入门网

图 2: 创建 Users 表的 SQL 代码

在Visual Web应用程序中使用Java Persistence API(3)

时间:2011-03-26 Beth Stearns

定义主键值

可以使用以下代码在 Derby sample 数据库中创建 Users 表。注意子句 GENERATED ALWAYS AS IDENTITY 指示 Derby DBMS 将生成 user_id 主键值,并且当添加一个新纪录 时该主键值自动递增。如果向此表中手动添加记录,比如使用 INSERT INTO 代码,请确 保使用保留字 DEFAULT 来指示 user_id 的值是由数据库提供的。

代码示例 1:创建 Users 表的 SQL 代码

create table "APP"."USERS" (   userName VARCHAR(50), password VARCHAR(12), email_address VARCHAR (50),       user_id INTEGER GENERATED always AS IDENTITY); alter table Users add constraint usersPK PRIMARY KEY (user_id); INSERT INTO Users VALUES (''Joe'', ''joepw'', ''joe@email.com'',DEFAULT); INSERT INTO Users VALUES (''Sarah'', ''mypassword'', ''sarah@sun.com'', DEFAULT); INSERT INTO Users VALUES (''Jane Doe'', ''janie'', ''jane@hotmail.com'', DEFAULT);

还有使用 Derby 定义主键值的其他方法。除了 Apache Derby 站点

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号