只通过他的身份证明获得雇员的姓名。那么一个静态类只有一个方法?

时间:2009-07-13 04:23:01

标签: oop class

我需要通过查询DB来获取员工的姓名。 看来需要上课。但只有一种方法的课程......这是好主意还是你还有什么建议?

4 个答案:

答案 0 :(得分:1)

如果这是您需要的关于员工的唯一信息,那么是的,您只需要一个静态类,只需一个静态方法:

public static class EmployeeRepository {
    public static string GetEmployeeNameByID(int id) { ... }
}

当您需要更多时,您可以做更多。

答案 1 :(得分:1)

每个表/实体类型一个类是合理的。 我想这个类叫做DAO类。

如果该类目前只有一种方法,那也没关系。 您可以稍后再添加。

不需要让方法保持静态。

具体来说,您可能希望将其设置为常规类(带有实例),以便您可以注入依赖项,例如DataSource或Connection。

public class EmployeeDAO {

    private final DataSource ds;

    public EmployeeDAO(DataSource ds){
         this.ds = ds;
    }

    public String getEmployeeNameByID(int id) { ... }

 }

答案 2 :(得分:1)

不要使用静态类。当您想要使用交易或特定连接时会发生什么?将事务或连接对象传递到每个调用中很快就会变得很痛苦。

最好使用以后可以扩展的普通旧类。静态类可能导致静态变量的诱惑,这可能导致线程错误。我个人喜欢避免这种情况。

如果我有足够的代表,我会添加这个作为对Thilo答案的评论:(

答案 3 :(得分:0)

也许我正在回答错误的问题,但我不禁想到也许你应该按照ID加载整个员工记录,而不仅仅是获取名称。如果是这样,那么最简单的方法是在employee类中使用静态方法来执行此操作。