学生程序设计能力提升平台源码分析(五)Service层源码分析

前言

2021SC@SDUSC

概述

继第一次的项目概述,和二三四的Controller层源码分析,我们已经对关键代码的使用和其内部实现原理有了一定的了解,接下来将按照代码调用的流程,从Controller层过渡到Service层,这是因为在Controller层接受了请求之后,要调用Service层即服务层的服务进行处理,而不是直接进行数据操作,所以接下来几篇我们将重点放在Service层的关键代码以及其内部实现原理上

源码

源码如下:

@Service
public class BindService {
    @Autowired
    private BindMapper bindMapper;
    @Autowired
    private RoleMapper roleMapper;
    @Autowired
    private UserInfoMapper userInfoMapper;

    @Transactional
    public Integer bindStuNum(StudentBind studentBind) throws DuplicateKeyException {
        if (UserUtil.getCurrentUserId() != null) {
            studentBind.setUserId(UserUtil.getCurrentUserId());
            if (bindMapper.validateStudentBind(studentBind) > 0) {
                roleMapper.insertRoleUserLink(studentBind.getUserId(), 3);
                UserInfo info = userInfoMapper.selectByUserId(UserUtil.getCurrentUserId());
                info.setStuNum(studentBind.getStuNum());
                info.setRealName(studentBind.getName());
                userInfoMapper.updateUserInfo(info);
                return 1;
            } else {
                return 0;
            }
        }
        return null;
    }

}

我们可以看到,Service层针对Controller层的调用提供方法,并提供一定的逻辑处理,调用Mapper数据层的方法获取数据。

在这里有一部分的关键代码,但是不多,需要我们了解的有以下几点:

1.@Service

2.@Transactional

3.涉及实体类的方法

4.@Autowired(在前面已经分析过,略)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值