OsChina Pojo类

放羊 发布于 2012/11/26 16:23
阅读 304
收藏 1

@红薯 你好,想跟你请教个问题:

看了网站的Pojo类,发现里面的像查询类的操作都设计成了对象方法,这样在调用的时候必须要求有一个实例化的对象,像其中的方法List(int page, int size),调用的代码就要这样:

User user = new User();

List<User> users = user.List(page, 10);

这样看着对象会感觉有些很奇怪,如果设计成类方法静态的会好一些,直接使用类进行调用

List<User> users = User.List(page, 10);

达成这样的形式,目前在实现遇到一些困难,因为在设计抽像类的时候,因为是静态方法了,就获取不到这个List方法中所要查询的数据库表的信息了。除非把这样的方法设计在各自的实现类中,但这样就会增加重复的代码了,因为每个POJO的子类都在写一遍。

就像上面的List操作,如果有两个类User, Blog, 如果把方法设计在抽像类的中的话,有什么办法能区分是User.List或者其它Blog.List呢,求解?@红薯

加载中
0
红薯
红薯
没办法,所以我们没用静态方法
放羊
放羊
看来也只能是这样了
0
大喵哥
大喵哥
把class传进去?
放羊
放羊
是的这种方法比较通一些,可以把所有的查询系列做成一个类,不需要添加到某个具体的POJO类中去了,唯一不看着api不舒服的就是参数多增加一个了,像这样User.find(User.class, id),感觉Query.find(User.class, id)更好一些,看来每种方式都利弊,想做到很完美是有一些困难。
返回顶部
顶部