企业网站怎么搜索优化,做微商自己建网站合适吗,网络设计课程实验,人力外包项目发布平台刚开始上手Java和Spring时#xff0c;就被controller#xff0c;service#xff0c;mapper#xff0c;entity这几个词搞懵了#xff0c;搞不懂这些究竟代表什么#xff0c;感觉使用golang开发的时候也没太接触过这些名词啊~ 经过两三个月的开发后#xff0c;逐渐搞懂了这…刚开始上手Java和Spring时就被controllerservicemapperentity这几个词搞懵了搞不懂这些究竟代表什么感觉使用golang开发的时候也没太接触过这些名词啊~ 经过两三个月的开发后逐渐搞懂了这几个词的意义也对为什么要这么分有了一点见解总结了一下希望能帮到各位刚刚接触Java和Spring的同学。
组件介绍 Entity实体 作用代表数据库中的表结构是数据模型的基本单元。通常包含属性和这些属性的getter/setter方法。可以简单理解成就是数据库表在代码里面定义一遍。示例用户实体类User包含用户ID、用户名、密码等字段。 Mapper映射器 作用负责将Entity对象与数据库记录进行映射执行CRUD创建、读取、更新、删除操作。在MyBatis等ORM框架中Mapper通常是一个Interface。简单来说就是如何对Entity进行增删改查比如对age是某个范围的Entity进行count这种就可以通过SQL在Mapper层实现。示例UserMapper接口定义与用户表相关的SQL操作。 Service服务 作用包含业务逻辑是Controller和Mapper之间的桥梁。处理复杂的业务逻辑调用一个或多个Mapper。比如开发一个在线学习平台时查询用户的学习情况可能就需要同时调用“用户”的Mapper获取用户对某个课程id的课程的学习信息比如是否已学习、学习进度等和“课程”的Mapper获取某个课程id的详细课程信息比如课程标题、课程封面来一起组合出用户学习过的课程的信息这一部分逻辑就可以在Service层实现。示例UserService类包含用户注册、登录、更新信息等业务逻辑。 Controller控制器 作用接收客户端请求调用Service层处理请求返回处理结果。通常负责处理HTTP请求和响应。简单来说就是实现RestApi对外暴露业务。示例UserController类处理与用户相关的HTTP请求如注册、登录请求。
简单业务示例用户注册
假设我们正在开发一个简单的用户管理系统其中包含用户注册功能。
Entity
public class User {private Long id;private String username;private String password;// Getters and Setterspublic Long getId() {return id;}public void setId(Long id) {this.id id;}public String getUsername() {return username;}public void setUsername(String username) {this.username username;}public String getPassword() {return password;}public void setPassword(String password) {this.password password;}
}Mapper
public interface UserMapper {void insertUser(User user);// 其他CRUD方法...
}在实际使用中如果是MyBatis这里会是一个接口SQL语句会通过XML或注解定义。
Service
public class UserService {private UserMapper userMapper;public UserService(UserMapper userMapper) {this.userMapper userMapper;}public void registerUser(String username, String password) {User user new User();user.setUsername(username);user.setPassword(password); // 实际应用中应加密处理userMapper.insertUser(user);}
}Controller
import org.springframework.web.bind.annotation.*;RestController
RequestMapping(/users)
public class UserController {private UserService userService;public UserController(UserService userService) {this.userService userService;}PostMapping(/register)public String register(RequestParam String username, RequestParam String password) {userService.registerUser(username, password);return User registered successfully!;}
}说明
EntityUser类代表用户表包含基本的用户信息。MapperUserMapper接口定义了插入用户的方法。实际实现如SQL语句会根据使用的ORM框架不同而有所差异。ServiceUserService类包含用户注册的业务逻辑即创建一个新用户并调用Mapper插入到数据库。ControllerUserController类处理用户注册的HTTP POST请求调用UserService完成注册。
这个示例展示了如何通过分层架构组织代码使每一层都有明确的职责便于维护和扩展。