我假設如果您使用 DTO 和 DAO,則不需要物體,至少不需要我以這種方式看到的示例。或者在這種情況下是否可以選擇物體?
public interface CustomerResource {
@GET
@Path("/getCustomerListByUserID/{userID}")
Response getCustomerListByUserID(@PathParam("userID") String userID);
@DELETE
@Path("/deleteCustomer/{customerID}")
Response deleteCustomer(@PathParam("customerID") int customerID);
@POST
@Path("/updateCustomer")
Response updateCustomer(CustomerDTO customer);
}
public class CustomerResourceImpl implements CustomerResource{
@Override
public Response deleteCustomer(int customerID) {
internalService.deleteCustomer(customerID);
}
@Override
public Response getCustomerListByUserID(String userID) {
internalService.getCustomerListByUserID(customerID);
}
@Override
public Response updateCustomer(CustomerDTO customer) {
internalService.updateCustomer(customer);
}
}
public interface CustomerDAO extends BaseDAO<CustomerDTO> {
List<CustomerDTO> getCustomerListByUserID(String userID);
void deleteCustomer(Integer customerID);
void updateCustomer(CustomerDTO customer);
}
而internalService直接呼叫CustomerDAO
這種結構有什么問題嗎,怎么可能更好,是否需要客戶物體?
非常感謝 !祝大家成功!
uj5u.com熱心網友回復:
DTO是 Data Transfer Object 的縮寫,因此它用于在應用程式的類和模塊之間傳輸資料。
DTO應該只包含資料、getter、setter 和建構式的私有欄位。 DTO不建議在此類類中添加業務邏輯方法,但添加一些util方法就可以了。 DAO是 Data Access Object 的縮寫,因此它應該封裝檢索、保存和更新資料存盤(資料庫、檔案系統等)中的資料的邏輯。
以下是 DAO 和 DTO 介面的示例:
interface PersonDTO {
String getName();
void setName(String name);
//.....
}
interface PersonDAO {
PersonDTO findById(long id);
void save(PersonDTO person);
//.....
}
@Entity
public class Person {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@NotNull
protected String name;
...getter and setter
}
一個物體是一個輕量級持久域物件。通常,物體代表關系資料庫中的一個表,每個物體實體對應于該表中的一行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/351871.html
