java - Spring Boot 错误 404 未找到 Hibernate

标签 java spring hibernate spring-boot postman

我是 Spring Boot 新手,我只是尝试通过以下代码从数据源获取/获取数据:

EmployeController.java

@RestController
@RequestMapping("/api")

    public class EmployeController {

        @Autowired
        private EmployeService employeService;

        @GetMapping("/employe")
        public List<Employe> get(){
            return employeService.get();
        }
    }

Employe.java

@Entity
@Table(name="employe")
public class Employe {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column
    private int id;
    @Column
    private String name;
    @Column
    private String gender;
    @Column
    private String department;
    @Column
    private Date dob;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getGender() {
        return gender;
    }
    public void setGender(String gender) {
        this.gender = gender;
    }
    public String getDepartment() {
        return department;
    }
    public void setDepartment(String department) {
        this.department = department;
    }
    public Date getDob() {
        return dob;
    }
    public void setDob(Date dob) {
        this.dob = dob;
    }
    @Override
    public String toString() {
        return "Employe [id=" + id + ", name=" + name + ", gender=" + gender + ", department=" + department + ", dob="
                + dob + "]";
    }

EmployeService.java

public interface EmployeService {
    List<Employe> get();
    Employe get(int id);
    void save(Employe employe);
    void delete(int id);
}

EmployeServiceImplement.java

@Service
public class EmployeServiceImplement implements EmployeService {

    @Autowired
    private EmployeDAO employeDAO;

    @Transactional
    @Override
    public List<Employe> get() {
        return employeDAO.get();
    }
}

EmployeDAO.java

public interface EmployeDAO {
    List<Employe> get();
    Employe get(int id);
    void save(Employe employe);
    void delete(int id);
}

EmployeDAOimplement.java

@Repository
public class EmployeDAOImplement implements EmployeDAO {

    @Autowired
    private EntityManager entityManager;

    @Override
    public List<Employe> get() {
        Session currentSession = entityManager.unwrap(Session.class);
        Query<Employe> query = currentSession.createQuery("from Employe", Employe.class);
        List<Employe>list = query.getResultList();  
        return list;
    }
}

我已将与 MySQl 数据库相关的所有配置写入 application.properties 并在我的数据库中创建了一个员工表。

据我所知,Spring Data JPA 是比这更好的实现方式,但因为我只想从相同的开始...作为 Spring Boot 应用程序运行我的项目,然后从 Postman 运行我收到 404 错误,例如这:

enter image description here

我无法理解为什么会显示 404 错误以及如何解决它。

最佳答案

你也可以这样做:

在您的应用程序 props 文件中设置:

server.servlet.context-path=/api

然后删除RequestMapping Annotation:

@RestController
public class EmployeController {

    @Autowired
    private EmployeService employeService;

    @GetMapping("/employe")
    public List<Employe> get(){
        return employeService.get();
     }
 }

然后您应该能够使用请求的 URL 检索它

关于java - Spring Boot 错误 404 未找到 Hibernate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59412715/

相关文章:

Hibernate:自动创建数据库表和一些错误

java - hibernate一次插入三个表

java - 为什么要使类成为final来创建不可变对象(immutable对象)

java - 在java中使用scala对象?

java - Android:GridView倾斜显示图像

angular - spring boot angular csrf token 握手错误

java - 如何在Spring中正确终止 Activity 的套接字连接?

java - 我的 JPA/Hibernate 自定义类型有什么问题?

java - 使用 Java Swing 组件时无法使用正则表达式验证 JTextField 的值

java - Spring Boot 1.5.1、Spring Data MongoDB 没有用于存储库的合格 bean