java 板


LINE

噗 谢谢解说= = 我的理解是这样 有问题纠正我一下 谢谢= = 一个dao介面抽象出所有资料表里面可能操作的方法 再一个实作dao介面的类别实作出 然後再写一个user类别封装该资料表 user表 接着把使用者的参数放该user类别 然後呼叫 实作dao介面方法插user类别 之後从user里面拿出参数带入sql语句 从上面看来我只感觉的出来的好处 就是不用在jsp里面打sql代码 然後因为有了dao介面 换资料库只要修改实作dao的方法 好处就以上二点是吗?? 上面我全都用推的 推dao在做的是什麽 然後怎麽分离而己 其实我不确定是不是这样做 ※ 引述《adrianshum (Alien)》之铭言: : ※ 引述《etman395 (技术时代)》之铭言: : : 我实在很不了解dao模式 : : 我只知道他的作用好像是不要在jsp里面写sql代码 : : 把他分离出来 : : 这样jsp就会省掉很多重覆的sql代码 : : 然後为了换资料库不会影响前台代码 : : 所以做个 dao介面 和实作dao的类别 然後再写个封装资料表的类别 : : 上面这段我理解的很模糊 : : 其实我dao还是没有懂.... : : 可以有高手帮我解释一下吗?? : : 用白话解释也可以 : : 因为我也很想解整个构架是怎样 和实际功能 : DAO 简而言之, 就是我写的logic 不用再管 : CRUD 的部份, 把 CRUD 交给一个 DAO. 某程度 : 上, 我的 logic 就不再需要理会背後用什麽 : persistence technology, 以後想比如换用别的 : DB, 只要换别的 DAO Impl 就好了. 感觉上就像: : (Logic): 好, 建好一部车的资料了, DAO, 帮我 : 存好它: : (DAO): 哦 (然後自己默默用 SQL 插入 DB) : 或者 : (Logic): DAO, 帮我拿出所有红色的车子 : (DAO): 哦 (然後自己默默用 SQL 找出 record, : 把 record 转为车子) : 诺, 你要的车子 : (Logic): 好! (然後继续工作) : interface CarDao { : void createCar(Car car); : List<Car> findCarsByColor(Color color); : } : class CarDaoOracleImpl implements CarDao { : // Oracle 的 sql 实作 : } : class CarDaoMySqlImpl implements CarDao { : // My SQL 的 sql 实作 : } : 概念就这样 : 最重要是 DAO 要把背後 persistence 的 techonlogy : 隐藏起来, 比如看过有些人写 DAO, return 的是 : resultset, 又或者传进一句 SQL 来做 query, : 这些就是换汤不换药的做法, 对架构一点帮助都没有. --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 120.106.19.33
1F:推 PsMonkey:未必要提炼出 dao 介面啦... 个人认为 dao 只是一种概念 05/26 16:29
2F:推 silver8250:系统够大才需要DAO 否则只是让程式更复杂罢了! 05/26 16:35
3F:→ adrianshum:最重要是把程式各layer负责的部份清楚分开 05/26 16:42
4F:推 PsMonkey:(接楼上) 所以跟系统大不大没有关系.... 05/26 19:07
5F:推 PsMonkey:也不会因此变复杂,理论上是变简单且直觉 05/26 19:07
6F:推 jej:其实就真的只是把db的部份分离出来而已..如果系统很小... 05/26 19:31
7F:→ jej:逻辑的部份就看看要怎麽写搂~~ 05/26 19:33
8F:推 bala045:让程式变得简洁,不过这样写有没有比较简单就不知道了 05/27 01:41
9F:推 adrianshum:同意PsMonkey,除非你的程式是又小以後又不会再改 05/27 10:45
10F:推 adrianshum:但我们学习,不是为了要写以後能 maintain 的程式吗? 05/27 10:48







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP