天天看点

商城-用户注册-后台功能准备2.后台功能准备

商城-用户注册-后台功能准备

  • 2.后台功能准备
    • 2.1.接口文档
    • 2.2.数据结构
    • 2.3.基本代码
      • 2.3.1.实体类
      • 2.3.2.mapper
      • 2.3.3.Service
      • 2.3.4.controller

2.后台功能准备

2.1.接口文档

整个用户中心的开发,我们将模拟公司内面向接口的开发。

现在假设项目经理已经设计好了接口文档,详见:《用户中心接口说明.md》

商城-用户注册-后台功能准备2.后台功能准备

我们将根据文档直接编写后台功能,不关心页面实现。

2.2.数据结构

CREATE TABLE `tb_user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `username` varchar(50) NOT NULL COMMENT '用户名',
  `password` varchar(32) NOT NULL COMMENT '密码,加密存储',
  `phone` varchar(20) DEFAULT NULL COMMENT '注册手机号',
  `created` datetime NOT NULL COMMENT '创建时间',
  `salt` varchar(32) NOT NULL COMMENT '密码加密的salt值',
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`username`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8 COMMENT='用户表';
           

数据结构比较简单,因为根据用户名查询的频率较高,所以我们给用户名创建了索引

2.3.基本代码

商城-用户注册-后台功能准备2.后台功能准备

2.3.1.实体类

@Table(name = "tb_user")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String username;// 用户名

    @JsonIgnore
    private String password;// 密码

    private String phone;// 电话

    private Date created;// 创建时间

    @JsonIgnore
    private String salt;// 密码的盐值
}
           

注意:为了安全考虑。这里对password和salt添加了注解@JsonIgnore,这样在json序列化时,就不会把password和salt返回。

2.3.2.mapper

public interface UserMapper extends Mapper<User> {
}
           

2.3.3.Service

@Service
public class UserService {

    @Autowired
    private UserMapper userMapper;
}
           

2.3.4.controller

@Controller
public class UserController {

    @Autowired
    private UserService userService;
    
}
           

继续阅读