Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Design Pattern & UML  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 DAO該设计成什么粒度的?
gaoxt1983





发贴: 67
积分: 0
于 2006-05-28 14:24 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
是设计成getUserNameById(int id)还是GetUserById(int id)?还有select * from a,和select name from a有性能上的区别吗?

why edited on 2006-06-05 22:07

作者 Re:DAO改设计成什么粒度的? [Re:gaoxt1983]
floater

Java Jedi

总版主


发贴: 3233
积分: 421
于 2006-06-05 21:18 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
should be loadUser(User user), where user is partially filled with whatever id you have before the load. The rest fields should be filled after the load.

never never use select * from, always always use select <concrete columns> from. The * could have a lot of side effects, say, order of columns, new columns, etc.



"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
- Martin Fowler, Refactoring - Improving the Design of Existing Code
作者 Re:DAO該设计成什么粒度的? [Re:gaoxt1983]
gaoxt1983





发贴: 67
积分: 0
于 2006-06-06 14:42 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
Thank upstair, but I have another question, say, I write a DAO, has a method getUsers(int age,boolean sex,String firstName), how do I implement it? Does I implment it by write
{
ResultSet rs=stmt.execute(select firstName,surName,age,sex,detail from users);
//filter the rs
//return a list with the right entities
}

or use the following style:
if(age!=0)
stmtString+="where age="+age;
if(xxxx
xxxxxx

??????



作者 Re:DAO該设计成什么粒度的? [Re:gaoxt1983]
floater

Java Jedi

总版主


发贴: 3233
积分: 421
于 2006-06-06 21:38 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
you need to convert your search to sql queries somehow(like your second way).

You don't want to get a rs and filter that, because that's exactly what db/sql does, not java does best/fast.



"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
- Martin Fowler, Refactoring - Improving the Design of Existing Code
作者 Re:DAO該设计成什么粒度的? [Re:gaoxt1983]
ftang



版主


发贴: 214
积分: 38
于 2006-06-23 23:21 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
同学,你这个设计还根本没法谈到粒度的问题啊,俺觉得你应该先看看别人作的 ,然后再想想怎么弄~~给你个地方瞧瞧,你现在的写法还是上个世纪的水平阿

http://ibatis.apache.org/dao.html




flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923