我是靠谱客的博主 拼搏泥猴桃,最近开发中收集的这篇文章主要介绍仿抖音短视频用户业务模块----完成用户信息增删改查并通过接口文档联调(模拟工作环境)1.根据nickname或者mobile来查询用户信息 2.根据用户id删除用户信息3.根据用户id修改用户信息,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

仿抖音项目持续更新中:
仿抖音短视频APP专栏

练习:

目录

1.根据nickname或者mobile来查询用户信息

 2.根据用户id删除用户信息

3.根据用户id修改用户信息


1.根据nickname或者mobile来查询用户信息

首先在controller层中,写一个路由地址,这里我们的用户信息用列表返回。

 注:我们这里传参是DTO,这里我在model层重写了一个类来存放nickname和mobile,

 接着在我们的service接口中写方法:

在实现类中调用mapper层的接口:

 在mapper接口中:

最后就需要在我们的xml文件里来操作数据库查询用户信息:


<select id="getUserListByQuery" resultType="com.imooc.vo.UsersVO">
SELECT
id,mobile,nickname,imooc_num,face,sex,birthday,
country,province,city,district,description,
bg_img,can_imooc_num_be_updated
FROM users
WHERE 1=1
<if test="nickname != null">
AND nickname= #{nickname}
</if>
<if test="mobile != null">
And mobile = #{mobile}
</if>
</select>

这里为什么会使用1=1,因为我们sql语句中没有 where和AND连用的语法,if是标签.

随后我们在接口文档中测试:

 打开navicat检查:

成功。

 2.根据用户id删除用户信息

在我们的controller层来随便写一个路由名字,我们这里用HashMap来接受返回的用户信息,键是成功,值是service层返回的结果。

 在service写接口:

 注:这里返回的是布尔类型,传入的参数是String类型。

实现Service接口:


@Transactional
@Override
public boolean deleteUser(String userId) {
if (StringUtils.isNotBlank(userId)) {
try {
int effectedNum = usersMapper.deleteUser(userId);
if (effectedNum > 0) {
return true;
} else {
throw new RuntimeException("删除用户信息失败!");
}
} catch (Exception e) {
throw new RuntimeException("删除用户信息失败:" + e.toString());
}
}else{
throw new RuntimeException("Id不能为空!");
}
}

 这里我们要清除一点,我们的数据库完成增加或删除后返回的是影响行数,我们这里需要用int来接受。如果影响行数大于1,则说明删除成功。

在mapper层写接口:

 最后在xml文件中,完成用户信息删除:

这里其实我后来发现我犯了一个错误,这里如果传入的UserId为空,就会导致所有表被删除,这是个很严重的错误,我们不应该使用1=1 和 if标签,应该直接:


<delete id="deleteUser" >
DELETE FROM
users
WHERE
id =#{userId}
</delete>

 重启,打开我们的接口文档:

打开navicat检查:

 删除成功。

3.根据用户id修改用户信息

首先在controller层中,用Map接受返回的键和值 

这里Uptate我写了一个类来传入我们需要修改的信息:

 

接着在service接口:

 在service实现类中:


@Transactional
@Override
public boolean modifyUserInfo(UpdateDTO updateDTO) {
if (StringUtils.isNotBlank(updateDTO.getUserId())) {
try {
int effectedNum = usersMapper.modifyUserInfo(updateDTO);
if (effectedNum > 0) {
return true;
} else {
throw new RuntimeException("用户信息修改失败!");
}
} catch (Exception e) {
throw new RuntimeException("修改用户信息失败:" + e.toString());
}
}else{
throw new RuntimeException("Id不能为空!");
}
}

注:我们这里调用了updateDTO中的get方法获取UserId,虽然我们DTO中没有写方法,但我们的注解会帮助我们自动生成。

接着我们要在mapper层写接口:

 最后就是在xml文件中来操作我们的数据库完成修改:

 


<update id="modifyUserInfo" parameterType="com.imooc.vo.UsersVO">
update users
<set>
<if test="nickname != null">nickname= #{nickname},</if>
<if test="mobile != null">mobile = #{mobile},</if>
</set>
where id=#{userId}
</update>

接着重启类:

然后在接口文档中修改:

 

 在navicat中查看:

 修改成功。

 

最后

以上就是拼搏泥猴桃为你收集整理的仿抖音短视频用户业务模块----完成用户信息增删改查并通过接口文档联调(模拟工作环境)1.根据nickname或者mobile来查询用户信息 2.根据用户id删除用户信息3.根据用户id修改用户信息的全部内容,希望文章能够帮你解决仿抖音短视频用户业务模块----完成用户信息增删改查并通过接口文档联调(模拟工作环境)1.根据nickname或者mobile来查询用户信息 2.根据用户id删除用户信息3.根据用户id修改用户信息所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部