controller 控制层
@Api
@RestController
@RequestMapping
@Slf4j
@Autowired
@ApiOperation
@GetMapping
@RequestParam
@PostMapping
@RequestBody
@RequestParam
service 业务逻辑层、mapper 持久层
@Service
@Autowired
@Override
entity 实体类、vo 展示层
@
@EnumValue //枚举类和数据库对应字段
@JsonValue //枚举类返回前端的值
@ApiModel
@Data
@TableName
@TableId
@ApiModelProperty
@JsonFormat
@DateTimeFormat
@TableLogic
@Excel
@EqualsAndHashCode
@Accessors
mybatisplus注解
@TableName //该注解用于指定实体类对应的数据库表名。当实体类名与数据库表名不一致,或者实体类名不是数据库表名的驼峰写法时,您需要使用这个注解来明确指定表名。
@TableId //该注解用于标记实体类中的主键字段。如果你的主键字段名为 id,你可以省略这个注解。
@TableField //该注解用于标记实体类中的非主键字段,它告诉 MyBatis-Plus 如何映射实体类字段到数据库表字段。如果你的实体类字段名遵循驼峰命名规则,并且与数据库表字段名一致,你可以省略这个注解。
@Version //该注解用于标记实体类中的字段作为乐观锁版本号字段。乐观锁是一种并发控制机制,它假设多个事务可以同时进行而不会互相干扰,只在提交事务时检查是否有冲突。通过在实体类中使用@Version注解,MyBatis-Plus 会在更新操作时自动检查版本号,确保在更新过程中数据没有被其他事务修改。
@EnumValue //该注解用于标记枚举类中的字段,指定在数据库中存储的枚举值。当实体类中的某个字段是枚举类型时,使用@EnumValue注解可以告诉MyBatis-Plus在数据库中存储枚举值的哪个属性。
@TableLogic //该注解用于标记实体类中的字段作为逻辑删除字段。逻辑删除是一种数据管理策略,它不是真正地从数据库中删除记录,而是在记录中标记该记录为已删除状态。通过使用@TableLogic注解,MyBatis-Plus 可以在查询、更新和删除操作中自动处理逻辑删除字段的值。
@KeySequence //该注解用于指定 Oracle 数据库中序列(Sequence)的名称,以便在实体类中生成主键值。在 Oracle 数据库中,主键通常是通过序列来生成的,而不是像其他数据库那样使用自增字段。@KeySequence注解告诉 MyBatis-Plus 使用特定的序列来生成主键。
@InterceptorIgnore //该注解用于指定在执行 MyBatis-Plus 的某个方法时,是否忽略特定的拦截器。MyBatis-Plus 提供了多个拦截器,用于实现如分页、逻辑删除、多租户等功能。通过使用注解,开发者可以控制哪些拦截器在执行特定方法时应该被忽略。
@OrderBy //该注解用于指定实体类中的字段在执行查询操作时的默认排序方式。通过在实体类字段上使用OrderBy注解,可以确保在执行查询时,如果没有显式指定排序条件,MyBatis-Plus 将按照注解中定义的排序规则返回结果。
校验规则注解(实体类)
@AssertFalse// 可以为null,如果不为null的话必须为false
@AssertTrue //可以为null,如果不为null的话必须为true
@DecimalMax //设置不能超过最⼤值
@DecimalMin //设置不能超过最⼩值
@Digits //设置必须是数字且数字整数的位数和⼩数的位数必须在指定范围内
@Future //⽇期必须在当前⽇期的未来
@Past //⽇期必须在当前⽇期的过去
@Max //最⼤不得超过此最⼤值
@Min //最⼤不得⼩于此最⼩值
@NotNull //不能为null,可以是空
@Min //最⼤不得⼩于此最⼩值
@Pattern //必须满⾜指定的正则表达式
@Size //集合、数组、map等的size()值必须在指定范围内
@Email //必须是email格式
@Length //⻓度必须在指定范围内
@NotBlank //字符串不能为null,字符串trim()后也不能等于“”
@NotEmpty //不能为null,集合、数组、map等size()不能为0;字符串trim()后可以等于“”
@Range //值必须在指定范围内
@URL //必须是⼀个URL
shiro安全框架注解
@RequiresRoles("admin") // 控制角色 为 admin
@RequiresPermissions("sys:role") // 控制权限指令
@RequiresAuthentication //验证用户是否登录,等同于方法subject.isAuthenticated() 结果为true时
@RequiresUser //验证用户是否被记忆
@RequiresGuest //验证是否是一个guest的请求,与@RequiresUser完全相反
redis缓存注解
@Cacheable //加缓存
@CacheEvict //清缓存
jeecg自定义注解
@Cacheable //Spring缓存注解
@Dict //字典翻译注解
@PermissionData //数据权限注解
@AutoLog //自动记录日志
数据脱敏注解
@SensitiveEncode//service方法 脱敏加密注解,表示该方法的返回值需要脱敏处理
@SensitiveDecod //service方法 脱敏解密注解,表示该方法的返回值需要解密(仅支持对脱敏encode之后的解密)
@SensitiveField //实体字段 表示该字段需要脱敏处理