请问怎样写数据库的搜索方法?

对于数据库中的一张表,可能需要按照不同的条件将需要的纪录列出来
例如:产品表 product(id,status,type)
列出某个状态的产品可以写个listByStatus(int status) 方法
列出某个类型的产品又可以写个listByStatus(int type) 方法

但我觉得这样写有些代码经常重复,但如果直接写一个search(String sql)方法又觉得不符合面向对象的思想

请问各位是如何处理的呢???

> 对于数据库中的一张表,可能需要按照不同的条件将需要的纪
> 剂谐隼?> 例如:产品表 product(id,status,type)
> 列出某个状态的产品可以写个listByStatus(int status)
> 方法
> 列出某个类型的产品又可以写个listByStatus(int type)
> 方法
>
> 但我觉得这样写有些代码经常重复,但如果直接写一个search
> String sql)方法又觉得不符合面向对象的思想
>
> 请问各位是如何处理的呢???

public class Product
{
static final int BY_STATUS = 0;
static final int BY_TYPE = 0;

public Product list(int condition)
{
...
}
};

///////
new Product().list(Product.BY_STATUS)

public class Product
{
static final int BY_STATUS = 0;
static final int BY_TYPE = 0;

public Product list(int condition)
{
...
}
};

///////
new Product().list(Product.BY_STATUS)

======================================

如果搜索参数比较多的时候,这种方式也很烦