[英]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.