解析Java框架中entity层,mapper层,service层,controller各层作用

一、entity层

别名: model层 ,domain层
用途: 实体层,用于存放我们的实体类,与数据库中的属性值基本保持一致,实现set和get的方法。
例子:user表的实体User

public class User {
    /**
     * 用户id
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    /**
     * 用户昵称
     */
    private String nick;

    /**
     * 手机号
     */
    private String mobile;

    /**
     * 头像地址
     */
    @Column(name = "head_image_url")
    private String headImageUrl;

  
    /**
     * 获取用户id
     *
     * @return id - 用户id
     */
    public Long getId() {
        return id;
    }

    /**
     * 设置用户id
     *
     * @param id 用户id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 获取用户昵称
     *
     * @return nick - 用户昵称
     */
    public String getNick() {
        return nick;
    }

    /**
     * 设置用户昵称
     *
     * @param nick 用户昵称
     */
    public void setNick(String nick) {
        this.nick = nick;
    }

    /**
     * 获取手机号
     *
     * @return mobile - 手机号
     */
    public String getMobile() {
        return mobile;
    }

    /**
     * 设置手机号
     *
     * @param mobile 手机号
     */
    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    /**
     * 获取头像地址
     *
     * @return head_image_url - 头像地址
     */
    public String getHeadImageUrl() {
        return headImageUrl;
    }

    /**
     * 设置头像地址
     *
     * @param headImageUrl 头像地址
     */
    public void setHeadImageUrl(String headImageUrl) {
        this.headImageUrl = headImageUrl;
    }

    
}

二、mapper层

别名: dao层
用途: 对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的,主要实现一些增删改查操作,在mybatis中方法主要与与xxx.xml内相互一一映射。
示例:userMapper

public interface userMapper {
    int deleteByPrimaryKey(Long id);

    int insert(user record);

    int insertSelective(user record);

    user selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(user record);

    int updateByPrimaryKey(user record);
}

三、service层

用途:业务service层,给controller层的类提供接口进行调用。一般就是自己写的方法封装起来,就是声明一下,具体实现在serviceImpl中。
示例:UserService

public interface UserService extends Service<User> {

}

四、controller层

别名:web 层
用途: 控制层,负责具体模块的业务流程控制,需要调用service逻辑设计层的接口来控制业务流程。因为service中的方法是我们使用到的,controller通过接收前端H5或者App传过来的参数进行业务操作,再将处理结果返回到前端。
示例:UserController

@RestController
@RequestMapping("/user")
public class UserController {
    @Resource
    private UserService userService;

    @PostMapping("/add")
    public Result add(User user) {
        userService.save(user);
        return ResultGenerator.genSuccessResult();
    }

    @PostMapping("/delete")
    public Result delete(@RequestParam Integer id) {
        userService.deleteById(id);
        return ResultGenerator.genSuccessResult();
    }

    @PostMapping("/update")
    public Result update(User user) {
        userService.update(user);
        return ResultGenerator.genSuccessResult();
    }

    @PostMapping("/detail")
    public Result detail(@RequestParam Integer id) {
        User user = userService.findById(id);
        return ResultGenerator.genSuccessResult(user);
    }

    @PostMapping("/list")
    public Result list(@RequestParam(defaultValue = "0") Integer page, @RequestParam(defaultValue = "0") Integer size) {
        PageHelper.startPage(page, size);
        List<User> list = userService.findAll();
        PageInfo pageInfo = new PageInfo(list);
        return ResultGenerator.genSuccessResult(pageInfo);
    }
}

转载自 https://blog.csdn.net/u011095110/article/details/86088976

  • 11
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在一个典型的Web应用程序,服务器、ControllerService、DAO、Mapper、实体(Entity)和数据库之间的联系通常如下: 1. 服务器:Web应用程序的入口,接收用户请求并将其转发到相应的Controller。 2. Controller:负责处理和验证用户请求,调用相应的Service完成业务逻辑处理,并将结果返回给客户端。 3. Service:负责实现业务逻辑,调用DAO与数据库交互,对数据进行处理并返回结果给Controller。 4. DAO:数据访问对象,通过MyBatis等ORM框架实现与数据库的交互,提供基本的CRUD操作。 5. Mapper:映射器,将Java对象和数据库表进行映射,提供SQL语句的生成和执行。 6. Entity:实体类,对应数据库的表结构,提供属性和方法对表数据进行操作。 7. 数据库:存储应用程序的数据,提供数据的持久化和查询。 以下是从服务器到数据库如何获取数据的完整流程: 1. 用户发送请求到Web应用程序的服务器,服务器接收请求并解析。 2. 根据请求的URL和HTTP方法,服务器将请求转发到相应的Controller。 3. Controller接收到请求并进行处理,调用Service的方法。 4. Service的方法接收到请求并进行业务逻辑处理,调用DAO的方法。 5. DAO的方法通过MyBatis等ORM框架生成SQL语句,并将SQL语句发送到Mapper。 6. Mapper将SQL语句转化为数据库可执行的语句,并发送到数据库。 7. 数据库执行SQL语句,将结果返回给Mapper。 8. Mapper将结果转化成Java对象,并返回给DAO的方法。 9. DAO的方法将结果返回给Service的方法。 10. Service的方法将结果返回给Controller。 11. Controller将结果转化为JSON或者HTML格式,返回给客户端。 12. 客户端接收到响应并进行渲染,呈现给用户。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值