- 在数据库建立数据表
CREATE TABLE t_user (
uid INT AUTO_INCREMENT COMMENT '用户id',
username VARCHAR(20) NOT NULL UNIQUE COMMENT '用户名',
password CHAR(32) NOT NULL COMMENT '密码',
salt CHAR(36) COMMENT '盐值',
phone VARCHAR(20) COMMENT '电话号码',
email VARCHAR(30) COMMENT '电子邮箱',
gender INT COMMENT '性别:0-女,1-男',
avatar VARCHAR(50) COMMENT '头像',
is_delete INT COMMENT '是否删除:0-未删除,1-已删除',
created_user VARCHAR(20) COMMENT '日志-创建人',
created_time DATETIME COMMENT '日志-创建时间',
modified_user VARCHAR(20) COMMENT '日志-最后修改执行人',
modified_time DATETIME COMMENT '日志-最后修改时间',
PRIMARY KEY (uid)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- 创建实体类(可以把公共部分的类创建成为一个基类)
public class User extends 公共类 implements Serializable {
private Integer uid;
private String username;
private String password;
private String salt;
private String phone;
private String email;
private Integer gender;
private String avatar;
private Integer isDelete;
// Getter and Setter、 hashCode() and equals()、toString()
}
- 注册持久层
3.1 在src/test/java下的测试类中编写并执行“获取数据库连接”的单元测试,以检查数据库连接的配置是否正确
@Autowired
private DataSource dataSource;
@Test
public void getConnection() throws Exception {
System.out.println(dataSource.getConnection());
}
3.2 规划需要执行的SQL语句(以登录为例)
用户登录功能需要执行的SQL语句是根据用户名查询用户数据,再判断密码是否正确`SELECT * FROM t_user WHERE username=?
3.3 接口与抽象方法 UserMapper接口,并在接口中添加抽象方法`
public interface UserMapper {
/**
* 插入用户数据
* @param user 用户数据
* @