gpt4 book ai didi

java - Spring Web 开发中的通用 DAO

转载 作者:行者123 更新时间:2023-12-01 11:36:57 27 4
gpt4 key购买 nike

如何将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 避免简单数据库 CRUD 操作的样板代码。

您可以定义通用接口(interface):

@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> {

}

关于java - Spring Web 开发中的通用 DAO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29874674/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com