首页 > 其他分享 >实习经验总结

实习经验总结

时间:2022-10-18 01:00:06浏览次数:49  
标签:非空 类型 设置 实习 操作 默认值 主键 经验总结

Rpc接口

request

  1. 实现Serializable接口,实例化数据
  2. 继承BaseAmsRequest类,封装操作人
  3. 参数要带上@ApiModelProperty,说明参数的含义
    对于Long、Integer等类型的参数,使用@NotNull限制非空,使用@Min和@Max限制最小值和最大值
    对于String类型的参数,使用@NotBlank限制非空
    对于List类型的数据,使用@Size(max =500, min =1)限制列表元素的个数

response

  1. 参数要带上@ApiModelProperty,说明参数的含义
  2. 使用模板类BaseResponse,封装一些信息,如是否成功,错误号和错误信息

mybatis生成模板

  1. columnOverride
    将数据库中表的字段映射到对应的java类型。Boolean类型的值在数据库用tinyint存储;对于String类型的数据,短的话可以用varchar存储,长的话可以用text
<columnOverride column="is_deleted" javaType="Boolean"/> 
  1. ignoreColumn:
    忽略数据库表中的某些字段
<ignoreColumn column="created_at"/>

建表sql语句

  1. 主键
    一定要有主键id,并且设置自增长
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id'
  1. 创建和更新时间:
    一定要有创建时间和更新时间
`created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', 
`updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  1. 是否删除字段
    一切数据都是软删除,在查询时加限定条件查询
`is_delete` tinyint(3) NOT NULL DEFAULT '0' COMMENT '删除标志',

索引

  1. 设置主键索引
PRIMARY KEY (`id`) USING BTREE,
  1. 设置联合索引
UNIQUE KEY `uk_mkt_nid_lid` (`mkt_nid`,`lid`),
  1. 设置key索引
KEY `idx_created_at` (`created_at`),KEY `idx_updated_at` (`updated_at`),
  1. 在写查询sql语句时,先写加入索引的字段

编程习惯

判断非空

  1. 在写接口时,参数要进行非空判定
  2. 对于Integer、Long、Class等类型的数据,使用Objects.nonNull判断是否为空
  3. 对于String类型的数据,使用StringUtils.isNotBlank判定非空
  4. 对于List类型的数据,使用CollectionUtils.isNotEmpty判定非空后,再进行遍历

设置默认值

  1. 对于sortType等形式的字段,设置默认值,前端不一定传入
  2. 在写rpc接口时,首先给response中的各个字段值赋默认初始值,再编写业务逻辑

分页逻辑

request

  1. pageNum:第几页
  2. pageSize:页的大小
  3. sortType:排序类型,1-升序,2-降序,可以设置默认值
  4. sortField:排序字段,对哪个字段进行排序,可以设置默认值

response

  1. List<>:查询列表
  2. totalNum:总的数量
  3. hasMore:是否还有下一页

repository

example.setOrderByClause("created_at " + sortType + " limit " + offset + "," + length);

操作记录流水

  1. 记录操作人、操作类型、操作描述和操作信息
  2. 编写enum类,加入@Getter和@AllArgsConstructor注解,设置操作类型opType和操作记录opDesc
  3. 写一个私有方法addOpLog,在需要加入操作记录时,直接调用

消息队列

优势:异步、限流、多线程并发消费

标签:非空,类型,设置,实习,操作,默认值,主键,经验总结
From: https://www.cnblogs.com/yanchaoyi/p/16801240.html

相关文章

  • 博雅数智与湖州师范学院共同创建校企合作实习实践基地
    2022年06月29日,博雅数智与湖州师范学院达成合作,共同创建校企合作实习实践基地。以“协同育人、协同创新”为指导,通过双方的合作,实现双方共建共享实训基地、共享校企人才资源......
  • 实习回忆录-----------前进,前进
    一 前言      转眼间已经工作了,博客是从研究生开始写的,当时就图能够提升自己的专业能力,记录学习过程的问题,避免后面重复中枪。哈哈哈。工作后,每天下班都很......
  • ollydbg设置断点经验总结
    第一寻常断点Ollydbg中一般下中断的方法,就是在程序的地址处用鼠标选择这一行。然后按F2键,这时被选择的那一行的地址会变成别的颜色,就表示这个地址处下了中断。然后运行......
  • 电子综合实习-电子计算器
    1电子计算器简介1.1设计目的电子计算器相比于人手算可谓有着不可或缺的优势,首先电子计算器有着极高的计算速度,其次它还可以保证很高的稳定性和准确性,这对于学理工科......
  • 实习学习--git
    head^~: http://wkevin.github.io/GitChat/gitchat.html#head和head是啥用树举例,在我看来^n是(同一高度)父叔节点间的切换,~n是沿着默认路径向前进,n默认为1gitcommit-a......
  • 字节跳动前端实习一面
    字节跳动前端实习一面我是约的10月9号下午2点的场,现在仔细给大家梳理一下面试的内容吧。1.你学习前端的方法这个问题属于开放问题了,怎么回答都是可以的。2.盒子模型w......
  • 实习日记暂停篇
    现在的我心态稳定,热爱学习,正在努力的扎实自己的Java基础,公司也不急着让我上手项目,培养为主,所以碎碎念就先告一段落。可能下一次心理崩溃在第一次做需求的时候吧。再一次......
  • 思无界实习招聘|移动端SLAM、语义SLAM、三维重建等多个算法岗位
    3D视觉工坊致力于推荐最棒的工作机会,精准地为其找到最佳求职者,做连接优质企业和优质人才的桥梁。思无界科技TF-SLAM团队实习招聘TF-SLAMGroup:SLAM团队成员主要来自慕尼黑工......
  • 三星招聘|计算机视觉、机器学习岗位研究员(校招/社招/实习)
    3D视觉工坊致力于推荐最棒的工作机会,精准地为其找到最佳求职者,做连接优质企业和优质人才的桥梁。三星SAITChinaLab招聘研究员及实习生工作环境及资源:SAIT-ChinaLab是三星......
  • 实习第三周(国庆摆烂迟到版)
    实习第十五天没有什么重要的,只是一些碎碎念今天又是瞎编的一天,cosmic写的我头昏眼花还没写多少,下午帮我师父写了仨,有一个还写错了,明天改一改,中午没睡觉出去做核酸,结果附近......