后端代码结构为controller、entity、enums、mapper、param、service,如何实现读取数据库中某一张表的信息并返回给前端一个json串?代码怎么写?
时间: 2024-09-09 07:10:52 浏览: 47
在后端代码中,通常会按照这样的结构组织:Controller负责接收前端请求,Service处理业务逻辑,Mapper用于数据访问,Entity表示数据库实体,Enums用于枚举类型,Param作为参数传递。
假设我们有一个名为User的Entity,对应数据库中的users表,包含字段id、name和email。以下是简单的Spring Boot示例代码:
1. **User Entity (实体类)**:
```java
public class User {
private Long id;
private String name;
private String email;
// getters and setters
}
```
2. **Mapper Interface (Mapper接口)**:
```java
public interface UserRepository extends JpaRepository<User, Long> {
List<User> findAll();
}
```
3. **Service Class (服务类)]]:
```java
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
public List<User> getUsers() {
return userRepository.findAll();
}
}
```
4. **Controller Class (控制器)]:**
```java
@RestController
@RequestMapping("/api/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping
public List<User> getUsersAsJson() {
List<User> users = userService.getUsers();
return ObjectMapper.DefaultFactory.createObjectMapper().convertValue(users, new TypeReference<List<JsonNode>>() {});
}
}
```
这里,`getUsers()`从数据库中获取所有用户,然后`getUsersAsJson()`将List<User>转换成JSON格式返回给前端。`ObjectMapper`是一个Jackson库的对象,它实现了序列化和反序列化。
阅读全文