Topic: DAO該设计成什么粒度的?

  Print this page

1.DAO該设计成什么粒度的? Copy to clipboard
Posted by: gaoxt1983
Posted on: 2006-05-28 14:24

是设计成getUserNameById(int id)还是GetUserById(int id)?还有select * from a,和select name from a有性能上的区别吗?

2.Re:DAO改设计成什么粒度的? [Re: gaoxt1983] Copy to clipboard
Posted by: floater
Posted on: 2006-06-05 21:18

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.

3.Re:DAO該设计成什么粒度的? [Re: gaoxt1983] Copy to clipboard
Posted by: gaoxt1983
Posted on: 2006-06-06 14:42

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

??????

4.Re:DAO該设计成什么粒度的? [Re: gaoxt1983] Copy to clipboard
Posted by: floater
Posted on: 2006-06-06 21:38

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.

5.Re:DAO該设计成什么粒度的? [Re: gaoxt1983] Copy to clipboard
Posted by: ftang
Posted on: 2006-06-23 23:21

同学,你这个设计还根本没法谈到粒度的问题啊,俺觉得你应该先看看别人作的 ,然后再想想怎么弄~~给你个地方瞧瞧,你现在的写法还是上个世纪的水平阿

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


   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