好的,下面是一个简单的新增接口示例,按控制层(Controller)、服务层(Service)和数据访问层(Mapper)的结构进行组织。我们以用户管理为例,展示如何实现新增用户的功能。
1. 实体类 (User.java)
首先,我们定义一个用户实体类:
public class User {
private Long id;
private String name;
private String email;
// Getters and Setters
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
2. Mapper 接口 (UserMapper.java)
接下来是 Mapper 接口,用于数据库操作:
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper {
@Insert("INSERT INTO users(name, email) VALUES(#{name}, #{email})")
void insertUser(User user);
}
3. 服务层 (UserService.java)
然后是服务层,实现业务逻辑:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public void addUser(User user) {
userMapper.insertUser(user);
}
}
4. 控制层 (UserController.java)
最后是控制层,用于处理HTTP请求和响应:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api/users")
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/add")
public ResponseEntity<String> addUser(@RequestBody User user) {
userService.addUser(user);
return ResponseEntity.ok("User added successfully");
}
}
5. 配置文件
在application.properties
中配置你的数据库连接信息,例如 MySQL 数据库:
spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC
spring.datasource.username=your_username
spring.datasource.password=your_password
mybatis.mapper-locations=classpath*:mappers/*.xml # 如果你使用 XML 配置的话
总结
以上代码展示了如何实现一个简单的新增用户接口。当你向/api/users/add
发送POST请求,并附带JSON格式的用户数据时,它会调用相应的方法将新用户插入到数据库中。
例如,发送以下JSON请求体来添加用户:
{
"name": "John Doe",
"email": "john.doe@example.com"
}
希望这个示例对你有所帮助!如果还有其他问题,请随时问我!
内容由零声教学AI助手提供,问题来源于学员提问