jpa repositofy findall()返回空列表



我正在练习用spring boot制作网页。

我创建了一个h2数据库并连接了它,我想在我的网页上显示成员表的名称属性作为列表。

我创建了findall()方法,但是只返回一个空列表。我的代码有什么问题?

我的网页

MemberRepository

package com.example.testproject.store.h2.repository;
import com.example.testproject.store.h2.domain.Members;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface MemberRepository extends JpaRepository<Members, Integer> {
}

MemberService

package com.example.testproject.store.h2.service;
import com.example.testproject.store.h2.domain.Members;
import java.util.List;
public interface MemberService {
List<Members> getAll();
}

MemberServiceImpl

package com.example.testproject.store.h2.service;
import com.example.testproject.store.h2.domain.Members;
import com.example.testproject.store.h2.repository.MemberRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.lang.reflect.Member;
import java.util.List;
@Service(value = "memberServiceImpl")
public class MemberServiceImpl implements MemberService {
@Autowired
private MemberRepository memberRepository;
public List<Members> getAll(){
return memberRepository.findAll();
}
}

MemberController

package com.example.testproject.controller;
import com.example.testproject.store.h2.domain.Members;
import com.example.testproject.store.h2.service.MemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
public class MemberController {
@Autowired
private MemberService memberService;
@GetMapping(value = "/members")
public List<Members> getAll() {
List<Members> users = memberService.getAll();
return users;
}
/*@GetMapping(value = "/members")
public List<Members> getAll() throws Exception {
return memberService.getAll();
}*/
}

成员(实体)

package com.example.testproject.store.h2.domain;
import jakarta.persistence.*;
@Entity
@Table(name = "members")
public class Members {
@Id
private int id;
@Column
private String name;
}

我想在我的网页上以列表的形式显示成员表的名称属性。

您错过了实体类中的getter setter方法,您需要为每个字段定义getter setter方法或2:你需要在pom.xml文件中添加lombook依赖,并在实体类的顶部添加@Data注释,这样当spring使用你的实体时,可以从数据库中设置和获取值,如果你不想明确地给出id,那么添加@GeneratedValue(strategy=GenerationType.AUTO),这样spring就会自动增加你的id

我想你在Entity中遗漏了getter和setter类只是使用@Data注释添加它们,然后再试一次。

您错过了实体中字段的getter和setter

你不需要任何库,你可以自己写。

否则,即使使用lombok,也应避免在Entity上使用@Data注释,因为equalshashCode的默认实现可能导致错误。相反,可以在类上使用注释@Getter@Setter

相关内容

  • 没有找到相关文章

最新更新