SpringCloud用户微服务项目实战04 实体类和Dao接口设计

2022年7月10日 316点热度 0人点赞 0条评论

经过前面三天的学习,我们已经设计出了用户微服务的接口,设计了数据库表,也搭建了开发环境,今天,我们终于可以写代码了。

写代码的第一步,是构建我们的实体类。在之前的数据库表中,我们创建了两张表,一张是用户信息表,一张是短信验证码表,我们创建两个对应的实体类。

首先是用户信息实体类:

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,送你元宝,送你钻石的那种。打怪掉宝的几率也特别高,喜欢玩游戏的可以自行下载体会哈。

38610SpringCloud用户微服务项目实战04 实体类和Dao接口设计

这个人很懒,什么都没留下

文章评论