前言

文本已收录至我的GitHub仓库,欢迎Star:https://github.com/bin392328206/six-finger

絮叨

小六六打算开一个系列把自己平时的一些开发经验分享出来和大家一起讨论我们平时开发过程中的一个最佳实践,就是想整理出来给大家参考一下,然后一起学习,一起进步

什么是公共属性的填充呢?

就是在我们的表设计的过程中,我们肯定有需要的相同的字段,那这些字段,每次新增的时候,我们都要设置默认值,那么我们在真实的项目开发中说怎么设计的呢?看看下面的吧

一般的公共字段有哪些呢?

  • 主键

  • 创建时间

  • 创建人

  • 修改时间

  • 修改人

  • 逻辑删除:0删除

我相信绝大数的表,这几个字段肯定是会有的,当然小六六说的不是绝对哈,要抬杠的绕道,哈哈!

那么小六六会去怎么设计呢实体呢?

首先我们会有一个 BaseEntity 用来存放这些公共的实体,具体如下

image.png

然后比如我有一张表 签名表,因为小六六做支付这块的,那么签名这些就是家常便饭了。

image.png

嘿嘿,我这就是实体的设计了,我相信大部分的小伙伴应该是这样设计的吧,接下来就是我们公共的功能的抽象了

公共属性抽象

就比如说 我上面的签名表 他新增的时候,要填充这些公共属性,然后我配置表也是需要的,那么这部分功能其实说相同的,那么我们如何把这部分的功能抽取出来呢?这边来看看小六六这边的自定义注解的做法

定义一个自定义的注解

DefaultParams

image.png

先定义一个注解,用来做切面的切点

自定义注解的切面实现

DefaultParamsAspect

image.png

image.png

这边来解释下这个切面的写法哈!

  • 首先获取操作的当前用户id

  • 第二步 获取方法的入参

  • 通过反射获取实体的getId的方法

  • 然后判断数据库的实体是否为空,如果为空 则说明是新增,否则就是更新

  • 通过反射去填充这几个公共的参数

具体的使用

来看看我们保存签名的接口

image.png

只需要在我们的方法上加一个 @DefaultParams注解就能实现公共属性的填充了。

结束

今天的分享就结束了,就是一个小小的技巧,以后这几个系列就用来分享,平时开发中的小技巧。感谢大家的支持,我是小六六, 三天打鱼,二天晒网。

日常求赞

好了各位,以上就是这篇文章的全部内容了,能看到这里的人呀,都是真粉。

创作不易,各位的支持和认可,就是我创作的最大动力,我们下篇文章见

微信 搜 "六脉神剑的程序人生" 回复888 有我找的许多的资料送给大家

小六六平时的开发小技巧一(公共属性填充))相关推荐

  1. 小六六平时的开发小技巧二(Nacos在服务配置中心的妙用)

    前言 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/bin392328206/six-finger 絮叨 小六六打算开一个系列把自己平时的一些开发经验分享出来和 ...

  2. android studio小案例代码,AndroidStudio开发小相册实例

    郑州app开发AndroidStudio开发小相册实例代码如下. 布局代码如下: java代码如下: package cn.xhhkj.xhhkjtest; import android.app.Ac ...

  3. asp.net程序涉及案例_定制小程序 | 企业在开发小程序前需要满足哪些条件?

    目前深圳小程序开发行业发展愈发迅速,小程序开发已成为目前的潮流趋势,制作属于自己的小程序刻不容缓.那么在开发小程序前,企业需要满足什么条件呢? 1.注册账号 万纵联小编告诉你,要想开发小程序,申请账号 ...

  4. 小程序资源服务器,开发小程序没有服务器资源

    开发小程序没有服务器资源 内容精选 换一换 在性能优化时,需要遵循一定的原则,主要有以下几个方面:对性能进行分析时,要多方面分析系统的资源瓶颈所在,如CPU利用率达到100%时,也可能是内存容量限制, ...

  5. 微信小程序 - 使用 uni-app 开发小程序以及部分功能实现

    文章目录 一.uni-app 1.简介 2.开发工具 3.新建 uni-app项目 4.把项目运行到微信开发者工具 二.实现tabBar效果 1.创建tabBar页面 2.配置tabBar 三.配置网 ...

  6. [小程序]你也要开发小程序?设计规范少不了

    你也要开发小程序?设计规范少不了 听说你准备开发小程序,这套设计规范送给你 目录: 1.设计尺寸 2.设计区域 3.字体规范 4.字体颜色规范 5.顶部导航栏 navigationBar 6.标签分页 ...

  7. 定制化开发小程序与模板开发小程序的区别?

    随着小程序关注度的持续走高,越来越多的企业商家开始涌入这片流量红海抢占商机,都想用微信小程序给自己带来红利,但在小程序开发之前,很多人会纠结,深圳小程序模板开发和深圳小程序定制开发,该怎么选? 今天, ...

  8. 【微信小程序】uniapp开发小程序如何使用微信云托管或云函数进行云开发

    一. 申请微信云托管 这个不用说吧必须的,官方地址在这.直接进去申请就行. 但是前提是你得会创建docker file,学习掌握一些基本的docker知识,会让你创建环境变得简单一点.环境创建完成之后 ...

  9. 【微信小程序】微信开发小项目+简易计算器+代码

    效果图: 2. index.json代码: {"usingComponents": {},"navigationBarBackgroundColor": &qu ...

最新文章

  1. Logical Volume Manager in Linux ( Create, Displ...
  2. 集中式管理助推服装企业腾飞
  3. USB自定义HID设备实现-STM32
  4. 前端学习(1413):多人管理33修改2(未能完结)
  5. python多线程爬取多个网页_python多线程爬取网页
  6. CV之 HOG特征描述算子-行人检测
  7. 下载keep运动软件_keep app下载-keep安卓版(运动健身) - 超好玩
  8. 蓝桥杯 ADV-154 算法提高 质数的后代
  9. 最大矩阵和 2015-05-13 21:23 8人阅读 评论(0) 收藏...
  10. JSP+JavaBean+Servlet+Oracle新增功能中对Date类型的字段的处理
  11. python的语法格式
  12. GPS原始坐标转百度地图坐标(纯C代码)
  13. 小程序中的多表联合查询
  14. Java开发快递物流项目(7)
  15. 安装企业微信和微信-ubuntu
  16. 使用R语言进行时间序列(arima,指数平滑)分析
  17. 互联网时代没有囊括进来的流量,在产业互联网时代全部都被囊括进来
  18. 电脑回收站清空了能恢复吗?
  19. 计算机科学与技术补中益气丸的成分,经典名方,补中益气丸运用解析
  20. Vue3+TS使用element-plus 动态Icon图标

热门文章

  1. Linux top
  2. kotlin中标准函数的使用(with、also、aply、let、run)
  3. Android绘图(一)基础篇
  4. Python机器学习基础篇二《监督学习》
  5. Python处理Windows记事本utf8编码文件要注意的坑
  6. /id_xndu5otm2mdq0.html,WEUI应用之JS常用信息提示弹层的封装
  7. golang爬虫colly 发送post请求
  8. 机器学习和统计学习的区别:10个统计分析方法
  9. Codeforces Round #704 (Div. 2) A-E题解
  10. Postgrey和PostgreSQL