簡體   English   中英

Spring Web開發中的通用DAO

[英]Generic DAO in Spring Web Development

我如何在DAO層中將這些代碼設置為GENERIC ,以便避免使用Spring Web開發在多種情況下避免代碼冗余並有效地使用一組簡單的代碼?

ItemInfoDao.xml

<select id = "getItem1" resultMap="resultItem1">
    SELECT item_id, name, area FROM item1
</select> 
<insert id="insertItem1">
    INSERT INTO item1 (item_id, name, area) 
         VALUES (#{itemId}, #{itemName}, #{itemArea})
</insert>
<select id = "getItem2" resultMap="resultItem2">
    SELECT item_id, name, area FROM item2
</select>
<insert id="insertItem2">
    INSERT INTO item2 (item_id, name, area) 
         VALUES (#{itemId}, #{itemName}, #{itemArea})
</insert>

ItemInfoDao.java

List<Package> getItem1(Package package);

void insertItem1(Package package );

List<Box> getItem2(Box box);

void insertItem2(Box box);

使用Spring-Data-JPA避免簡單的DB CRUD操作的樣板代碼。

您可以定義一個通用接口:

@NoRepositoryBean
public interface ItemDao<T> extends JpaRepository<T, Long> {
    T getItem(T input);

    void insertItem(T input);
}

Package的具體實現為:

public interface PackageDao extends ItemDao<Package> {

}

Box的具體實現將是:

public interface BoxDao extends ItemDao<Box> {

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM