您正在混合DAO(数据访问对象)和VO(值对象) – 也称为DTO(数据传输对象) – 在同一个类中.
使用DAO行为接口的示例(blammy和kpow可能是webservice,oracle数据库,mysql数据库,hibernate或任何有意义的东西):
public interface UserDTO
{
boolean deleteUser(String userId);
UserVO readUser(String userId);
void updateUser(String userId, UserVO newValues);
}
package blah.blammy;
public class UserDTOImpl implements UserDTO
{
... implement it based on blammy.
}
package blah.kpow;
public class UserDTOImpl implements UserDTO
{
... implement it based on kpow.
}
示例VO:
public class UserVO
{
String firstName;
String lastName;
String middleInitial;
... getters and setters.
}
我更喜欢使用ID而不是VO对象来识别删除的目标.此外,更新可能会将用户ID“smackdown”标识的目标更改为具有用户ID“smackup”,因此我通常会传递id和VO.