查询用户信息

news/2024/10/18 16:54:27/

1、查询一般都是根据主键的id进行查询,根据前端的要求,探讨前端需要在页面上面展现的数据,就是我们查询后需要返回的数据,放在vo里面进行统一的封装,参数就是我们的主键id

// 查询账户信息 1:@ApiOperation(value = "获得用户账户信息",notes = "获得用户账户信息",httpMethod = "POST")@PostMapping("/getAccountInfo")public GraceJSONResult getAccountInfo(@RequestParam String userId);

2、编写我们的controller, 首先对我们的参数进行校验,不能为空,接下来便是调用我们的业务层,查询数据库的信息,编写一个VO 类封装前端需要的参数信息,new 一个vo对象把数据库查到对象,通过BeanUtils.copyProperties(user,accountInfoVO); 拷贝到我们的VO里面

controller代码

@Overridepublic GraceJSONResult getAccountInfo(String userId) {// 0. 参数校验,判断参数不能为空if (StringUtils.isBlank(userId)){return GraceJSONResult.errorCustom(ResponseStatusEnum.UN_LOGIN);}// 1. 根据userid查询数据库用户信息: 转去编写service和mapperAppUser user = userService.getUser(userId);// 2. 返回用户信息// " 此处需要前端沟通,前端需要哪些信息,我们就返回哪些信息,不能全部返回,用vo包装需要返回的信息 "// " BO 就是从我们的视图层,也就是前端页面里面传过来的参数封装 "// " VO 是我们后端返回给前端渲染的 "UserAccountInfoVO accountInfoVO = new UserAccountInfoVO();BeanUtils.copyProperties(user,accountInfoVO);return GraceJSONResult.ok(accountInfoVO);}

由于用户的信息,在我们的网站里面,是经常访问到的信息,是一个高并发的数据,当网站的用户数量庞大的时候,频繁的获取用户的信息,对我们的数据库,存在很大的压力,所以我们会把用户的一个基本信息放到我们的redis里面进行缓存,查询用户信息的时候,首先查询我们的redis,redis查不到了再查询我们的数据库,在保存到redis里面

 private AppUser getUser(String userId){// redis 缓存用户信息 4:// 1. 首先查询判断redis里面 是否包含用户信息,如果包含,查询redis直接返回,就不去查数据库了String userJson = redis.get(REDIS_USER_INFO + ":" + userId);AppUser user = null;  // 一开始是空的,在里面去进行赋值if (StringUtils.isNotBlank(userJson)){user = JsonUtils.jsonToPojo(userJson,AppUser.class);} else {// 2. redis 里面没有,就查询数据库,并存到redis里面// TODOuser = userService.getUser(userId);// 由于用户的信息不怎么会变动,对于一些千万级别的网站来说,这类信息不会去直接查询数据库// 那么完全可以依靠redis, 直接把第一次查询后的数据存入到redis中// redis 缓存用户信息 1:redis.set(REDIS_USER_INFO + ":" + userId, JsonUtils.objectToJson(user));}return user;}


 

3、service 代码

@Overridepublic AppUser getUser(String userId) {return appUserMapper.selectByPrimaryKey(userId);}

4. mapper的代码,直接生成

@Repository
// 添加该注解,不然service层注入的时候爆红
public interface AppUserMapper extends MyMapper<AppUser> {
}


http://www.ppmy.cn/news/576140.html

相关文章

个人信息法规

个人信息 关键事件 《未成年人网络保护条例&#xff08;送审稿&#xff09;》向社会公开征求意见 2017年1月6日&#xff0c;国务院法制办公布《未成年人网络保护条例(送审稿)》及其说明&#xff0c;并向社会各界征求意见。送审稿针对网络信息内容建设、未成年人网络权益保障…

数据安全_个人信息查询

个人信息查询 个人信息资产清单查询本文相关网址&#xff08;附录&#xff09;总结用户角度企业角度 引用 个人信息资产清单查询 本文相关网址&#xff08;附录&#xff09; 中国人民银行征信中心官网&#xff1a;http://www.pbccrc.org.cn/火狐Firefox Monitor&#xff1a;ht…

个人信息:

注册资料 邮箱网站&#xff1a;http://www.126.com/ 登陆帐号&#xff1a;zhihuixuezhe 邮箱地址&#xff1a;zhihuixuezhe126.com CSDN网站&#xff1a;http://www.csdn.net/ 登陆帐号&#xff1a;zhihuixuezhe CSDN地址&#xff1a;http://writeblog.csdn.net/PostList…

个人信息系统

1个人信息系统需求分析 1.1初步需求 1 . 建立Person类&#xff0c;包括身份证号码、姓名、电话号码。 2 . 从键盘录入每个人的信息&#xff0c;每次录入要验证合法性。 3 . 身份证号码录入时要验证合法性&#xff0c;合法的身份证号码要求&#xff1a; (1) 身份证号码长度必…

隐私信息检索(隐匿查询)

隐私信息检索&#xff08;隐匿查询&#xff09; 1 隐私信息检索概述1.1 使用场景1.2 查询流程1.3 与不经意传输之间的差别 2 隐私信息检索发展过程&#xff08;类型&#xff09;2.1 基于数论的PIR方案2.2 基于同态加密的PIR方案2.3 基于编码理论的单服务器PIR方案 3 基于同态加…

公民个人信息保护方案汇总

随着大数据时代的到来&#xff0c;个人信息保护得到了前所未有的重 视。国际上围绕个人信息的获取、分析、利用和控制的竞争越来越 激烈&#xff0c;个人信息安全已成为维护国家安全、保持社会稳定、关系长 远利益的关键组成部分&#xff0c;备受各国政府的关注和重视。如何确保…

个人信息、敏感个人信息的识别和保护原则

一、个人信息与敏感个人信息的界定&#xff1a; 我国现行涉及个人信息以及个人敏感信息的规定分散在不同部门发布的规范性文件。法律层面主要有《中华人民共和国民法典》、《中华人民共和国个人信息保护法》&#xff1b;在国家标准层面&#xff0c;由国家标准化管理委员会发布…

户籍信息查询

详情链接&#xff1a;http://www.haoservice.com/docs/141 户籍信息查询 支持格式&#xff1a; JSON/XML 请求方式&#xff1a; GET/POST 明文方式请求参数&#xff1a; 名称类型必填说明 keystring是API KEY nameString是姓名 idcardString是身份证号 密文方式请求参数&…