文档章节

对于DAO的理解

闻术苑
 闻术苑
发布于 2012/12/06 22:49
字数 330
阅读 251
收藏 2
点赞 0
评论 0

DAO,一个以前从未听过的专业术语,今天进入了我的脑子,细细品起来,也是蛮有味道的。

DAO,我们将它翻译作“数据访问对象”,它是一个封装了数据访问逻辑的模块。

如何写一个DAO?
    step1,写一个实体类。
             实体类是为了方便访问记录而设计的一个简单的一个简单的Java类。记得以前写过一篇介绍实体类的帖子,感兴趣的朋友可以翻阅一下:http://www.51buyhost.com/thread-1089-1-2.html。
    step2,写一个DAO接口。
             在接口当中,要声明一些数据访问相关的方法,在声明这些方法的时候,要保证这些方法不要涉及任何具体的数据访问技术。
    step3,写一个DAO的实现类。
             使用某种具体的数据库访问技术实现DAO接口中声明的方法。
    step4,写一个DAO工厂类。
             “工厂”设计模式:工厂负责将对象的创建过程封装起来,为调用者提供符合接口要求的对象。使用工厂的好处是,调用者不用了解对象的创建的细节,并且,当对象的创建过程发生改变,不会影响到调用者。

 

 

© 著作权归作者所有

共有 人打赏支持
闻术苑
粉丝 53
博文 137
码字总数 60009
作品 0
济南
产品经理
SOA四层架构中的服务层设计

最近在做的项目,电商平台中的商品服务,属于电商平台中最基础的服务。项目整体架构——SOA服务治理的方式。这个项目属于重构项目,由php重构为java。自己在项目中的角色coder+架构吧。 项目...

EveryDayNew
2016/08/14
315
0
昨天用一天的时间重复制造了一个轮子,又一个OR mapping。

又一个使用annotation的orm的实现,非常无聊的东西。 不过实现过程中,思考了一下,感觉从select出发的orm往往是非常难用的。再简单的系统,其select语句也会出现复杂的内外连接,分组等查询...

Brin想写程序
2014/01/22
0
3
greenDAO讲义(一):使用篇

目前android开发刚学习了一个多月,最近开始研究三方开源框架的用法。了解android开发的人应该都会知道,android的数据库开发主要用到sqlite(如果这点你不清楚,那这篇文章就直接pass吧)。...

古沐风
2014/01/27
0
12
简单的MVC就够了吗?浅谈service Layer的引入

MVC是web开发中常见的程序结构。 简单的mvc结构如下: view层:显示层。 control层:业务层,集合了各种action。 model层:模型层,一般和数据打交道。简单的sample:一个表对应一个model类。...

蜗牛奔跑
2015/11/23
51
0
业务层架构模式

一:业务层架构模式概述 在三层架构中,业务层负责所有业务相关的工作,包括根据输入数据或已有数据进行计算,对从表示层输入的数据进行验证,以及根据从表示层接收的命令来确定应该调用哪些...

陈嘻嘻哈哈
2015/07/22
0
0
JAVA DAO(Data Access Object)的个人总结

最近上课,老师提到DAO,也是因为后面做作业的需要,就花了一点时间,来看一下DAO,也只是泛泛而谈,自己学习的一些总结,也希望给想学习的新手一些帮助吧。 1。什么是DAO 说来说去,DAO到底...

开源中国段子手
2015/07/22
0
0
java专业术语

java的(PO,VO,TO,BO,DAO,POJO)解释 PO(persistant object) 持久对象 在o/r映射的时候出现的概念,如果没有o/r映射,没有这个概念存在了。通常对应数据模型(数据库),本身还有部分业务逻辑的处...

---dgw博客
01/05
0
0
Hibernate什么时候用openSession,什么时候用getCurrentSession() ?

刚开始使用hibernate,在Dao类中想获取session,目前我的理解是这样的: 前提:使用注解的方式配置事务 由于getCurrentSession的前提是必须有一个session已经开启,而只有使用了Transactional...

一条大河波浪宽
2013/05/10
3.1K
1
深入探索spring技术内幕(三): 剖析spring IoC工作原理和配置依赖注入

一、前言 IOC (Inverse of control) - 控制反转,spring的IOC实现原理为利用Java的反射机制并充当工厂的角色完成对象的装配和注入。 二、实现细节 类结构: 该例子需要导入以下jar包 ① Dao接...

HelloRookie
2016/10/21
142
0
多层构架在实践中一些问题

最近要开始一个新项目,上一个项目采用贫血的多层构架,感觉IDao,IService大多数都无用,虽然有IDE辅助但是仍然很痛苦,想请教一下大家在实践中是怎么使用多层构架的。 DAO层是否有必要存在...

徐牛
2014/05/13
250
5

没有更多内容

加载失败,请刷新页面

加载更多

下一页

HTML5和CSS3新特性一览

HTML5和CSS3新特性一览 HTML5 1.HTML5 新元素 HTML5提供了新的元素来创建更好的页面结构: 标签 描述 <article> 定义页面独立的内容区域。 <aside> 定义页面的侧边栏内容。 <bdi> 允许您设置...

全部原谅
8分钟前
0
0
编程开发进阶更重要的是掌握的核心设计思维[图]

编程开发进阶更重要的是掌握的核心设计思维[图]: “单独写一个琐碎的代码块就等同于弹奏音阶一样,不幸的是,弹奏音阶并不能教会你任何关于音乐的东西,并且非常枯燥” 这是 Eric S. Raymon...

原创小博客
11分钟前
0
0
怎样确保java代码在抛出异常时都回滚,而不只是运行时异常

/** TransactionAspectSupport手动回滚事务:*/ @Transactional(rollbackFor = { Exception.class }) public boolean test() { try { ......

gulf
11分钟前
0
0
TCP-Keepalive作用

TCP交互在三次握手确定连接之后,后续可能不会一直有数据在通讯,但此时双方的连接是保持的,如果在这段时间内没有数据,客户端(或服务端)突然关掉了,或者客户端到服务端之间的网络突然断...

sensy
12分钟前
0
0
Hive学习之Hive CLI

Hive命令行接口(CLI)提供了执行Hive QL、设置参数等功能,要启用CLI只需要在命令行下执行$HIVE_HOME/bin/hive命令。在命令下执行hive –H可以查看CLI选项,如下表所示: -d,--define <key...

舒运
14分钟前
0
0
hadoop新手学习笔记之hadoop产品大全

大数据这个词也许几年前你听着还会觉得陌生,但我相信你现在听到hadoop这个词的时候你应该都会觉得“熟悉”!越来越发现身边从事hadoop开发或者是正在学习hadoop的人变多了。作为一个hadoop入...

左手的倒影
15分钟前
0
0
MySQL5.7之开启远程连接

参考这个https://blog.csdn.net/qiyueqinglian/article/details/52778230

汉斯-冯-拉特
16分钟前
0
0
FileUtils API

一、概述 这是一个Java操作文件的常用库,是Apache对java的IO包的封装,这里面有两个非常核心的类FilenameUtils跟FileUtils,其中FilenameUtils是对文件名操作的封装;FileUtils是文件封装,开...

如风达
16分钟前
0
0
详解机器学习中的梯度消失、爆炸原因及其解决方法

前言 本文主要深入介绍深度学习中的梯度消失和梯度爆炸的问题以及解决方案。本文分为三部分,第一部分主要直观的介绍深度学习中为什么使用梯度更新,第二部分主要介绍深度学习中梯度消失及爆...

tantexian
21分钟前
0
0
JavaMail 发送邮件

参考 https://www.cnblogs.com/xdp-gacl/p/4216311.html 发送html格式邮件 package com.example.stumgr;import java.util.Properties;import javax.mail.Message;import javax.mail......

阿豪boy
23分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部