Spring Boot 项目11:用户注册-业务层接口和实体类

268 阅读1分钟

写在前面

上一篇文章我们进行了业务层开发-用户注册异常,这篇文章我们进行用户注册-业务层接口和实体类开发

用户注册-业务层接口开发

在service目录下新建一个IUserService接口,代码如下:

package com.cy.store.service;

import com.cy.store.entity.User;

/** 用户模块业务层接口 */
public interface IUserService {
    /**
     * 用户注册
     * @param user 用户信息
     */
    void reg(User user);
}

用户注册-业务层实体类开发

在impl目录下新建一个UserServiceImpl类,代码如下:

业务逻辑如下:首先通过userMapper.findByUsername()查询用户名是否存在,如果存在就抛出“用户名已存在”的异常,如果不存在就往数据库插入用户信息,此时先将用户信息补全,设置isDelete为0,createUser和modifiedUser为传过来的user的username,createdTime和modifiedTime是当前的date,最后如果rows不为1,说明插入数据库失败,就抛出数据库插入异常-“注册失败”

@Service 是必不可少的,没有它Spring找不到

package com.cy.store.service.impl;

import com.cy.store.entity.User;
import com.cy.store.mapper.UserMapper;
import com.cy.store.service.IUserService;
import com.cy.store.service.ex.UsernameDuplicatedException;
import com.cy.store.service.ex.InsertException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;

/** 用户模块业务层实现类 */
@Service
public class UserServiceImpl implements IUserService {
    @Autowired
    private UserMapper userMapper;

    @Override
    public void reg(User user) {
        String username = user.getUsername();
        User result = userMapper.findByUsername(username);
        if (result != null){
            /** 抛出用户名已存在异常 */
            throw new UsernameDuplicatedException("用户名已存在");
        }

        user.setIsDelete(0);
        user.setCreatedUser(username);
        user.setModifiedUser(username);
        Date date = new Date();
        user.setCreatedTime(date);
        user.setModifiedTime(date);
        Integer rows = userMapper.insert(user);
        if (rows != 1) {
            throw new InsertException("注册失败,请重试");
        }
    }
}

写在最后

以上就是用户注册-业务层接口和实体类开发的全部内容