开博——【转】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 控制事务。
我们将侧重于编程式事务界定。
设计考虑
如前所述
相关文档:
转自:http://lavasoft.blog.51cto.com/62575/27069
Java多线程编程总结
一、认识多任务、多进程、单线程、多线程
要认识多线程就要从操作系统的原理说起。
以前古老的DOS操作系统(V 6.22)是单任务的,还没有线程的概念,系统在每次只能做一件事情。比如你在copy东西的时候不能rename文件名。为了提高 ......
1.vector是线程同步的,所以它也是线程安全的,而arraylist是线程异步的,是不安全的。如果不考虑到线程的安全因素,一般用arraylist效率比较高。 2.如果集合中的元素的数目大于目前集合数组的长度时,vector增长率为目前数组长度的100%,而arraylist增长率为目前数组长度的50%.如过在集合中使用数据量比较大的数据,用vecto ......
load-on-startup元素一般是配合servlet的配置使用的,load-on-startup 元素在web应用启动的时候指定了servlet被加载的顺序,它的值必须是一个整数。如果它的值是一个负整数或是这个元素不存在,那么容器会在该servlet被调用的时候,加载这个servlet 。如果值是正整数或零,容器在配置的时候就加载并初始化 ......
1.Java学习网站:
Java中文世界论坛 http://www.chinajavaworld.com/index.jspa
Java世纪网 http://www.java2000.net/
Java 中文站 http://www.java-cn.com/
Java学习室 ......
XML文件是一种可扩展性标识语言,xml文件的主要用途:
做web开发时,可以用xml文件来做系统的配置
系统的集成
数据的中转
因为xml文件是跨平台的,所以对雨不同的系统之间的数据的传送,交互可以用xml文件来实现
下面的这个项目主要是用来:
1,将oracle数据库中的emp表的结构读取,并且生成xml文件,并且将表中的数据同 ......