【发布时间】:2020-04-12 00:46:24
【问题描述】:
我只是想通过这段代码创建一个 Spring boot Hibernate CRUD REST API:
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 Boot App 运行并转到 Postman 并尝试像这样
我无法理解为什么每次总是抛出 404 错误,谁能告诉我这段代码中缺少什么。
【问题讨论】:
-
我看不到 EmployeController 的代码。以及为什么要创建自己的 DAO 层。你不知道 Spring Data JPA 吗?
-
检查你的数据库是否创建了表?如果是...检查您的控制台并从那里发布堆栈跟踪。
-
@Nitika 表已创建,控制台中没有显示任何内容
标签: java spring hibernate spring-boot postman