После первых трех дней обучения мы спроектировали интерфейс пользовательского микросервиса, спроектировали таблицу базы данных, построили среду разработки и сегодня наконец-то можем писать код.
Первым шагом в написании кода является создание нашего класса сущности. В предыдущей таблице базы данных мы создали две таблицы, одна из которых является таблицей с информацией о пользователе, а другая — таблицей кодов подтверждения SMS, и мы создали два соответствующих класса сущностей.
Первый — это класс сущности информации о пользователе:
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;
}
}
В классе сущностей с информацией о пользователе следующие свойства являются локальными:
-
идентификатор: первичный ключ
-
идентификатор пользователя: идентификатор пользователя
-
Никнейм: Никнейм
-
mobileNod: номер мобильного телефона
-
пароль: пароль
-
isLogin: авторизован
-
loginTime: время последнего входа в систему
-
isDel: был ли он удален
-
createTime: время создания
Затем есть первый класс сущностей, класс сущностей кода подтверждения SMS:
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;
}
}
Свойства этого класса сущностей относительно просты, в том числе:
-
идентификатор: первичный ключ
-
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: запрос информации о пользователе на основе номера мобильного телефона.
-
вставка: добавить информацию о пользователе
-
updateById: обновить информацию о пользователе
Затем есть интерфейс Dao с кодом подтверждения SMS:
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); // 根据手机号查询验证码信息
}
Этот интерфейс предоставляет только два метода:
-
вставить: добавить информацию о коде подтверждения
-
selectByMobileNo: запрос информации о коде подтверждения на основе номера мобильного телефона.
Вот небольшая деталь: когда мы раньше проектировали таблицу базы данных, мы намеренно добавили индекс к полю mobileNo двух таблиц, интересно, вы его нашли?
Как пользовательский интерфейс Dao, так и интерфейс Dao кода проверки SMS используют запрос mobileNo, что может повысить эффективность запроса.
С интерфейсом Dao следующим шагом будет реализация интерфейса Dao. Мы используем Mybatis в качестве библиотеки запросов к базе данных, которая может использовать сопоставление xml для запросов к базе данных. Как это реализовать, вы можете сначала попробовать сами.В завтрашней статье я приведу код реализации.
Что ж, сегодняшняя передача здесь, спасибо.
Напоследок небольшой рекламный ролик об игре.Если вам не нравится играть в игры, то можете не читать дальше.Если вам немного нравится играть в игры, то настоятельно рекомендую скачать.Это приложение действительно хорошее. Я сам им пользуюсь.Прошло уже лет пять-шесть,и он очень прост в использовании.Часто обновляет некоторые благотворительные игры,которые присылают вип,красные конверты и слитки.
Зачем это рекомендовать?
Какие игры есть?
Адрес загрузки (скопируйте в браузер, чтобы открыть): https://www.tsyule.cn/index.php/index/index/appid/7/tgid/ca0000500
Загрузите мобильное приложение по этому адресу, которое можно загрузить как на телефоны Apple, так и на Android. После загрузки установите его, а затем зарегистрируйте учетную запись для входа. В ней тысячи игр, особенно типа БТ игр, особенно много. BT-игры автоматически отправляют вам VIP, слитки и бриллианты, пока вы играете в игру. Вероятность убийства монстров и выпадения сокровищ тоже очень высока, любители поиграть в игры могут скачать и испытать это на себе.