商城-用户注册-后台功能准备
- 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.数据结构
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.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;
}