java的博_开博——【转】Java中DAO的实现

开博——【转】Java中DAO的实现

最近学习中总是感觉停止不前了,到达一个瓶颈,经常写到一个地方会觉得这个东西学过但有不是那么的清楚,一种似懂非懂的感觉,所以决定找地方把每天所学习的或有用的东西记录下来,今天开始这里将是我的技术库,我会与所有爱好JAVA的朋友一起学习,一起进步。今天是开博第一天,正好在复习DAO设计模式,看到一片不错的讲解,就转载过来了。

【转】Java中DAO的实现

J2EE 开发人员使用数据访问对象(Data Access Object DAO)设计模式,以便将低级别的数据访问逻辑与高级别的业务逻辑分离。实现 DAO 模式涉及比编写数据访问代码更多的内容。在本文中,Java 开发人员 Sean C. Sullivan 讨论了 DAO 编程中三个常常被忽略的方面:事务界定、异常处理和日志记录。

图 1 显示了应用程序和数据源之间的关系:

图 1. 应用程序和数据源

在整个应用程序中使用数据访问对象(DAO)使我们可以将底层数据访问逻辑与业务逻辑分离开来。我们构建了为每一个数据源提供 CRUD (创建、读取、更新、删除)操作的 DAO 类。

在本文中,我将为您介绍构建更好的 DAO 类的 DAO 实现策略和技术。更确切地说,我将讨论日志、异常处理和事务界定。您将学到如何将这三者结合到自己的 DAO 类中。本文假定您熟悉 JDBC API、SQL 和关系数据库编程。

我们将以对 DAO 设计模式和数据访问对象的概述开始。

DAO基础

DAO 模式是标准 J2EE 设计模式之一。开发人员用这种模式将底层数据访问操作与高层业务逻辑分离开。一个典型的 DAO 实现有以下组件:

一个 DAO 工厂类

一个 DAO 接口

一个实现了 DAO 接口的具体类

数据传输对象(有时称为值对象)

具体的 DAO 类包含访问特定数据源的数据的逻辑。在下面一节中您将学习设计和实现数据访问对象的技术。 事务界定

关于 DAO 要记住的重要一点是它们是事务性对象。由 DAO 所执行的每一个操作 -- 如创建、更新或者删除数据 -- 都与一个事务相关联。因此, 事务界定的概念就变得特别重要了。

事务界定是定义事务边界的方式。J2EE 规范描述了两种事务界定的模型:编程式(programmatic)和声明式(declarative)。表 1 分析了这两种模型:

表 1. 两种事务界定的模型

声明式事务界定

编程式事务界定

程序员用 EJB 部署描述符声明事务属性。

程序员负责编写事务逻辑。

运行时环境(EJB 容器)用这些属性自动管理事务。

应用程序通过一个 API 控制事务。

我们将侧重于编程式事务界定。

设计考虑

如前所述

相关文档:

package com.project.ajaxs;

import java.io.BufferedReader;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.OutputStream;

import java.io.OutputStreamWriter;

import java.util.Calendar;

import java.uti ......

我现在已经大四了,学的是软件专业,我必须承认我们学校的软件专业很不好,所以大部分要靠自己。

以前从来没写过博客,这次在这里开博就是想通过csdn结识更多的学习JAVA的朋友,我深知自己的JAVA功底甚浅,所以只有孜孜不倦的习,和不厌其烦的发问才能使自己强大。

最近我也从网� ......

Java Applet 是用Java 语言编写的一些小应用程序,这些程序是直接嵌入到页面中,由支持Java的浏览器(IE 或 Nescape)解释执行能够产生特殊效果的程序。它可以大大提高Web页面的交互能力和动态执行能力。包含Applet的网页被称为Java-powered页,可以称其为Java支持的网页。

当用户访问这样的网页时,Ap ......

1.[http://www.javaalmanac.com] – Java开发者年鉴一书的在线版本. 要想快速查到某种Java技巧的用法及示例代码, 这是一个不错的去处.

2.[http://www.onjava.com] – O’Reilly的Java网站. 每周都有新文章.

3.[http://java.sun.com] – 官方的Java开发者网站 – 每周都有新文章发表.

4.[http:/ ......

一.java类

package com.java.test;

import org.w3c.dom.*;

import javax.xml.parsers.*;

import java.io.*;

public class JavaReadXml {

// Document可以看作是XML在内存中的一� ......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值