java 板


LINE

※ 引述《LaPass (LaPass)》之铭言: : 我对资料库还蛮头痛的 : 想请问比较概念性的问题.... : 几乎只要写系统之类的程式,难免都会使用到资料库 : 虽然,简单来讲,就只是select update instert delete这四个动作而已 : 只要会这四个指令,就几乎可以把所有功能都做出来 : 顶多再多个creat drop alert就很多了 : 但是,弹性这麽大,也让人觉得用起来会很难用 : 常常看到资料表中的有个栏位不知道是在干麽的..... : 一串SQL中的某个条件又不知道是干什麽用的 document、comment、present(意义不明) 工具可能可以帮助很多,但是很难万能 套了一堆自动化工具,还不如多打几个字 : 不知道资料表之间的关连性是怎麽样 : 或是,今天改了资料表,栏位多一个isDelete的判断 : 就要把所有的delete陈述式改成update set isdelete=1 : 偏偏删除的sql还在分布在很多地方 基本上,切一层 DAO 算是基本招数 而且你不管用什麽自动化工具(或是啥都没用) 把存取资料库(不管哪种资料库)的行为 集合在一个 or 多个 DAO 的 class 都是好事 DAO 上层再包一个 model 层就更好,那里才是真正处理 business logic 的部份 : 或许可以把SQL字串用个public static final String去存起来 : 但是,这样一来就会降低使用上的弹性 : 例如.... : 我常常看到程式码出现这种东西 : String Sql="(....)"; : if(A功能开启) Sql="UNION (........)"; : if(B功能开启&&使用者属於B群组) Sql+=" UNION (.....) " : String Sql2 = "....." : (中略,又开另外一个搜寻去捞资料库的资料出来做判断) : if(判断成立)Sql+=" UNION (.....) " : ...... : 像这种组合SQL语法的段落可以长达两三页,而且每个UNION中的陈述式又都很长 : 把这种东西放到public final static去存,也没什麽意义,因为还是一样乱 : 现在有机会自己写,程式跟资料库的桥接介面 : 在想方法让资料库用起来好用一些 : 请问有方法可以解决这种问题吗? 我觉得适时用程式去解决 sql 要解决的功能 会让 sql 看起来「好看」一点,但是也仅只於好看而已 XD 我忘记谁讲的了,大意大概是 肮脏的事情就是那麽多,看是要这里脏还是那里脏 用了一些工具,也不过就是自己的手少脏一点 (还要担心抽象渗漏 XD) 看到推纹,最後扯一个 n 久前的想法 & 作法 写一个 tool,喂给他 select 语法,多长多恶烂都没关系 tool 依照 metadata 自动生成一个 FooDataClass,帮你塞好对应的值 sql 就塞在 FooDataClass.SQL 当中... 也许套个 reflection 会更爽一点 [茶] 小范围实用性当然很爽,不过自 high 居多 这两个礼拜用 Hibernate 好像也没有活的比较快乐一点...... (多对多的部份一旦 update 就一直产生 null 的 data,好烦阿 Orz) ==== 这篇实在跟 Java 没啥关系 [远目] -- 钱锺书: 说出来的话 http://www.psmonkey.org 比不上不说出来的话 Java 版 cookcomic 版 只影射着说不出来的话 and more...... --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.25.12.32
1F:→ LaPass:Hibernate应该还是java的范围啦.... 汗 05/19 02:21







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灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP