Java Data Object(JDO) API 是标准、基于接口的持久性 Java 模型抽象,可以直接把 Java 域模型实例保存到数据存储。JDO 是作为 Java Specification Request 的一部分开发的。
分析 DAO 源代码
DepartmentDAOImpl.
java 代表应用程序的 DAO,它把部门和员工信息插入应用程序数据库。DepartmentDAOImpl 扩展了 Spring 的 HibernateDaoSupport,它用 Spring 的 HibernateTemplate 简化了会话管理。这样就可以通过 getHibernateTemplate() 方法保存或检索数据。清单 5 所示的 getDepartmentEmployees() 用 HQL 和 getHibernateTemplate().find 方法对 Department 进行 find 操作,找到所有属于这个部门的员工。
清单 5. DAO 实现
public class DepartmentDAOImpl extends HibernateDaoSupport implements DepartmentDAO{ public void addDepartment(Department department) { getHibernateTemplate().save(department); }
public Department getDepartmentEmployees(Department department) {<āp> Department dep = null; List list = getHibernateTemplate().find("from Department department " + "where department.id = ?" , department.getId(),Hibernate.LONG);
if(list.size() > 0){ dep = (Department) list.get(0); } return dep; } } |
现在来看看代码运行的
效果吧!
运行应用程序 要运行示例应用程序,首先必须下载 Spring 框架及其全部相关文件。然后,解压框架(比如说解压到 c:\ 目录下),创建 C:\spring-framework-1.2-rc2 (针对当前发行版)的文件夹。在继续之前,还必须下载并解压 Apache Ant。
接下来,把源代码释放到一个文件夹,例如 c:\,创建 DB2SpringHB 文件夹。再修改 build.xml 文件入口,用实际安装 Spring 的位置替换 C:\spring-framework-1.2-rc2,用 DB2 Type 4 JDBC 驱动
程序所在的位置替换 C:\Installables\IBM\SQLLIB\java\。
打开命令提示符,更改目录到 DB2SpringHB,在命令提示符中输入以下命令:build。
这会构建并运行 CreateDepartmentEmployeeClient 类,该类又创建 Department 类对象,为其填充一些数据,创建 Employee 对象,为它填充数据,并把它添加到 Department 对象。
然后 CreateDepartmentEmployeeClient 调用 DepartmentDAOHelper.addDepartment 类,添加部门和员工
信息。一旦插入,CreateDepartmentEmployeeClient 就会调用 DepartmentDAOHelper.getDepartmentEmployees 方法,根据部门 id 得到部门和员工信息。如果 CreateDepartmentEmployeeClient 成功执行,将看到部门名称和员工信息输出到
控制台。也可以查询 DB2 数据库,检索部门和员工信息。
验证 DB2 数据库中的记录 为了验证 orgdb 数据库中的记录,请执行以下步骤:
在 Windows 命令提示符下,输入 db2cmd
输入以下语句:
db2 connect to orgdb
db2 select * from tbl_department
db2 select * from tbl_employee
您将看到保存在 DB2 数据库中的记录。
至此,您已成功地测试了示例企业应用程序。
结束语 在这份教程中,您学习了在 DB2 数据库中保持数据的各种方法,并逐步查看了构建示例应用程序的过程,示例应用程序整合了 Spring AOP 的声明式事务处理,并用 Spring 加 Hibernate 的持久性主干在 DB2 数据库中保持 Java 对象。这个基本的应用程序成为一个起点,使您快速走上为 DB2 数据库构建高度可维护、基于持久性的应用程序的大道。
查看本文来源