SpringBoot构建电商基础秒杀项目 学习笔记

修改 DOMapper

在 UserPasswordDOMapper.xml 添加:

  <select id="selectByUserId" parameterType="java.lang.Integer" resultMap="BaseResultMap">select<include refid="Base_Column_List" />from user_passwordwhere user_id = #{userId,jdbcType=INTEGER}</select>

在 UserPasswordDOMapper 添加:

UserPasswordDO selectByUserId(Integer userId);

添加 model

public class UserModel {private Integer id;private String name;private Byte gender;private Integer age;private String telphone;private String registerMode;private String thirdPartyId;private String encrptPassword;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Byte getGender() {return gender;}public void setGender(Byte gender) {this.gender = gender;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getTelphone() {return telphone;}public void setTelphone(String telphone) {this.telphone = telphone;}public String getRegisterMode() {return registerMode;}public void setRegisterMode(String registerMode) {this.registerMode = registerMode;}public String getThirdPartyId() {return thirdPartyId;}public void setThirdPartyId(String thirdPartyId) {this.thirdPartyId = thirdPartyId;}public String getEncrptPassword() {return encrptPassword;}public void setEncrptPassword(String encrptPassword) {this.encrptPassword = encrptPassword;}}

添加 service

添加接口:

public interface UserService {UserModel getUserById(Integer id);
}

添加接口的实现:

@Service
public class UserServiceImpl implements UserService {@Autowiredprivate UserDOMapper userDOMapper;@Autowiredprivate UserPasswordDOMapper userPasswordDOMapper;@Overridepublic UserModel getUserById(Integer id){UserDO userDO = userDOMapper.selectByPrimaryKey(id);if(userDO == null){return null;}UserPasswordDO userPasswordDO = userPasswordDOMapper.selectByUserId(userDO.getId());return convertFromDataObject(userDO, userPasswordDO);}private UserModel convertFromDataObject(UserDO userDO, UserPasswordDO userPasswordDO){if(userDO == null){return null;}UserModel userModel = new UserModel();BeanUtils.copyProperties(userDO, userModel);if(userPasswordDO != null){userModel.setEncrptPassword(userPasswordDO.getEncrptPassword());}return userModel;}
}

添加 viewobject

public class UserVO {private Integer id;private String name;private Byte gender;private Integer age;private String telphone;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Byte getGender() {return gender;}public void setGender(Byte gender) {this.gender = gender;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getTelphone() {return telphone;}public void setTelphone(String telphone) {this.telphone = telphone;}
}

添加 controller

@Controller("user")
@RequestMapping("/user")
public class UserController {@Autowiredprivate UserService userService;@RequestMapping("/get")@ResponseBodypublic UserVO getUser(@RequestParam(name="id") Integer id){UserModel userModel = userService.getUserById(id);return convertFromModel(userModel);}private UserVO convertFromModel(UserModel userModel){if(userModel == null){return null;}UserVO userVO = new UserVO();BeanUtils.copyProperties(userModel, userVO);return userVO;}
}
  • data object: 与数据库完全映射,不包含任何逻辑

  • model: 业务交互逻辑模型

  • view object: 前端展示数据

源码:spring-boot-seckill

转载于:https://www.cnblogs.com/victorbu/p/10544653.html

Spring Boot 构建电商基础秒杀项目 (二) 使用 Spring MVC 方式获取用户信息相关推荐

  1. SpringBoot构建电商基础秒杀项目——用户模型管理

    项目进展: 已经完成了springboot + MVC + mybatis 框架搭建,外加常态的错误异常定义.正确的返回值类型定义. 接下来还需完成模型能力管理,其包括用户模型.商品模型.下单模型.秒 ...

  2. SpringBoot构建电商基础秒杀项目知识点总结(第3章)

    文章目录 3-1 使用SpringMVC方式开发用户信息 1.springMVC中Model的设计思想 2.对象复制函数,用于不同层的model的转化 3.需要在controller方法上加上@res ...

  3. 小程序基础开发(三):授权,获取用户信息,注册,登录,简单封装request请求

    一,授权 1,首先在app.js里检测用户是否授权 // 查看是否授权wx.getSetting({success: function (res) {if (res.authSetting['scop ...

  4. 使用Spring Boot构建独立的OAuth服务器(三)

    2019独角兽企业重金招聘Python工程师标准>>> 在 使用Spring Boot构建独立的OAuth服务器(二) 中配置了一个独立的OAuth服务器,这里要对Resource, ...

  5. spring boot构建基础版web项目(一)springboot、thymeleaf控制层基础构

    原文作者:弥诺R 原文地址:http://www.minuor.com/147852147/article 转载声明:转载请注明原文地址,注意版权维护,谢谢! 写前说明 根据个人在各篇博文中看到的信息 ...

  6. 用Elasticsearch构建电商搜索平台,一个极有代表性的基础技术架构和算法实践案例

    转自:http://www.sohu.com/a/114545287_116235 电商数据系统主要类型 一个中等的电商平台,每天都要产生百万条原始数据,上亿条用户行为数据.一般来说,电商数据一般有3 ...

  7. 用Elasticsearch构建电商搜索平台,一个极有代表性的基础技术架构和算法实践案例(转)

    转自:https://blog.csdn.net/jek123456/article/details/54562158 随着数据规模的爆炸式增长,如何从海量的历史,实时数据中快速获取有用的信息,变得越 ...

  8. Java电商系统秒杀怎么做?

    有的时候,获取秒杀项目经历的代价是惨痛的- 比如我 前阵子我司(某十八线厂子)的运营策划了一场1元秒杀活动.一开始觉得肯定不会有很多人参与啊,于是没有准确的预估好用户的访问量.结果,你猜发生了什么:活 ...

  9. Spring Boot构建多租户SaaS平台核心技术指南

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 树下魅狐 来源 | oschina.net/r ...

  10. Spring Boot 构建多租户 SaaS 平台核心技术指南

    1. 概述 笔者从2014年开始接触SaaS(Software as a Service),即多租户(或多承租)软件应用平台:并一直从事相关领域的架构设计及研发工作.机缘巧合,在笔者本科毕业设计时完成 ...

最新文章

  1. JSP与Web技术概论
  2. [名词解释] intuitive
  3. 再谈 Application ProvidedAar
  4. 集群环境配置遇到的问题(随时更新)
  5. Get Requests with Json Data Get Requests with Url Parameters
  6. Linux 便笺技巧专栏
  7. php7.0 freetype_php7.0.5安装教程
  8. 汇编 MOVSX与MOVZX 指令
  9. 长距离大口径输水PCCP管道泄漏监测系统解决方案
  10. 基于java的网上鲜花销售系统
  11. 使用Matlab对大地测量学中的大地坐标和大地空间直角坐标进行相互转换
  12. Java 使用嵌套 for 循环打印皇冠
  13. 报错 mysql 1194
  14. springboot+shrio简易登录登出和用户权限认证。
  15. 湿化学清洗过程中晶片污染控制方法
  16. 程序员转行后能做什么?
  17. window10家庭版安装docker记录
  18. 吴忠军 - 养生之道 老人健康长寿的大秘诀
  19. Ubuntu包依赖损坏的解决unmet dependencies
  20. linux串口蜂鸣器报警电路,蜂鸣器报警器电路图大全(五款模拟电路设计原理图详解)...

热门文章

  1. Atitit 稳定性提升的艺术 之技术解决之道 目录 1. 2. 为什么会发生稳定性问题 1 1 2. 大原则 1 2.1. 尽快释放资源类似php最好的稳定性 1 2.2. Nginx 负载均衡
  2. Atitit 理解参数 目录 1. 参数 1 1.1. 意义 1 1.2. 形式参数 实际参数 1 1.3. 默认参数 vs 必须参数 2 1.4. 位置参数,那么这个命名关键字参数 2 1.5. I
  3. Atitit 短信 技术的概论 短信备份 attilax总结 1.1. 短信的历史 1 1.2. 短信长度 160字的长度限制灵感来自对明信片的研究。明信片。大多数明信片上的字符不超过160个
  4. Atitit js es5 es6新特性 attilax总结
  5. atitit.提升备份文件复制速度(4) ---数据挖掘 获取回收站文件列表
  6. atitit。自定义uml MOF EMF体系eclipse emf 教程o7t
  7. paip.php调试不能显示局部变量内容with xdebug
  8. bbs与BLOG与SNS在区别
  9. API网关的几点思考
  10. 资管新规这样规定,我的货基该怎么办?