经过前面三天的学习,我们已经设计出了用户微服务的接口,设计了数据库表,也搭建了开发环境,今天,我们终于可以写代码了。
写代码的第一步,是构建我们的实体类。在之前的数据库表中,我们创建了两张表,一张是用户信息表,一张是短信验证码表,我们创建两个对应的实体类。
首先是用户信息实体类:
package com.zhangdapeng520.user.entity;
import lombok.Builder;
import lombok.Data;
import java.io.Serializable;
import java.sql.Timestamp;
@Data
@Builder
public class UserInfo implements Serializable {
private int id;
private String userId;
private String nickName;
private String mobileNo;
private String password;
private String isLogin;
private Timestamp loginTime;
private String isDel;
private Timestamp createTime;
public UserInfo() {
}
public UserInfo(int id, String userId, String nickName, String mobileNo, String password, String isLogin,
Timestamp loginTime, String isDel, Timestamp createTime) {
this.id = id;
this.userId = userId;
this.nickName = nickName;
this.mobileNo = mobileNo;
this.password = password;
this.isLogin = isLogin;
this.loginTime = loginTime;
this.isDel = isDel;
this.createTime = createTime;
}
}
用户信息实体类中,局部以下属性:
-
id:主键
-
userId:用户ID
-
nickName:昵称
-
mobileNod:手机号
-
password:密码
-
isLogin:是否已登录
-
loginTime:最近一次登录的时间
-
isDel:是否已删除
-
createTime:创建时间
然后是第个实体类,短信验证码实体类:
package com.zhangdapeng520.user.entity;
import lombok.Builder;
import lombok.Data;
import java.sql.Timestamp;
@Data
@Builder
public class UserSmsCode {
private int id;
private String mobileNo;
private String smsCode;
private Timestamp sendTime;
private Timestamp createTime;
public UserSmsCode() {
}
public UserSmsCode(int id, String mobileNo, String smsCode, Timestamp sendTime, Timestamp createTime) {
this.id = id;
this.mobileNo = mobileNo;
this.smsCode = smsCode;
this.sendTime = sendTime;
this.createTime = createTime;
}
}
这个实体类的属性则比较简单,有:
-
id:主键
-
mobileNo:手机号
-
smsCode:验证码
-
sendTime:发送时间
-
createTime:创建时间
实体类有了以后,我们需要接着创建数据库对象层的代码。数据库对象层是直接和数据库打交道的,也叫DAO,主要是对数据库的数据进行增删改查的简单操作。
首先是用户的DAO接口:
package com.zhangdapeng520.user.dao;
import com.zhangdapeng520.user.entity.UserInfo;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserInfoDao {
UserInfo selectByMobileNo(String mobileNo); // 根据手机号查询用户信息
int insert(UserInfo userInfo); // 添加用户信息
int updateById(UserInfo userInfo); // 更新用户信息
}
这里面主要提供三个方法:
-
selectByMobileNo:根据手机号查询用户信息
-
insert:添加用户信息
-
updateById:更新用户信息
然后是短信验证码的Dao接口:
package com.zhangdapeng520.user.dao;
import com.zhangdapeng520.user.entity.UserSmsCode;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserSmsCodeDao {
int insert(UserSmsCode userSmsCode); // 添加验证码信息
UserSmsCode selectByMobileNo(String mobileNo); // 根据手机号查询验证码信息
}
这个接口只提供了两个方法:
-
insert:新增验证码信息
-
selectByMobileNo:根据手机号查询验证码信息。
这里有个小细节:之前在咱们设计数据库表的时候,特意给两张表的mobileNo字段添加了索引,不知道大家有没有发现呢?
用户的Dao接口和短信验证码的Dao接口都使用到了mobileNo查询,这样能够提高查询效率。
有了Dao接口以后,接下来就是实现Dao接口了。我们使用的是Mybatis作为数据库查询库,可以采用xml映射的方式进行数据库查询。具体怎么实现大家可以自己先试着做一下,在明天的文章中,我会给出实现代码。
好了,今天 分享就到这里了,谢谢大家。
最后打一个小广告哈,是关于游戏的,不喜欢玩游戏的可以不用继续往下看了哈,如果你稍微喜欢玩游戏,则强烈推荐你下载看看,这个App真的不错,我自己用了五六年了,非常好用,里面经常会更新一些送Vip送红包送元宝的福利游戏。
为啥推荐呢?
都有什么游戏呢?
下载地址(复制到浏览器打开):https://www.tsyule.cn/index.php/index/index/appid/7/tgid/ca0000500
通过这个地址下载一个手机App,苹果手机和安卓手机都可以下载哈。下载以后安装,然后注册一个账号登录就行了。里面有几千款游戏,特别是那种BT游戏,特别多。BT游戏就是只要你玩游戏,就会自动送你VIP,送你元宝,送你钻石的那种。打怪掉宝的几率也特别高,喜欢玩游戏的可以自行下载体会哈。
文章评论