首页 > 其他分享 >【SpringBoot】注解

【SpringBoot】注解

时间:2023-06-14 17:35:39浏览次数:37  
标签:实体类 SpringBoot TableName value ID path 注解 主键

Controller

- @RestController
- @RequestMapping("/path")

Controller内方法

@GetMapping("/path/{xxx}")
@PostMapping("/path")

POST处理函数参数

@RequestBody  // 将Json体参数值按照参数名传入类内对应字段中

GET处理函数参数

@PathVariable // 按名称获取请求路径中的变量,如上文中的`{xxx}`

将参数值按照参数名传入RequestDto中不需要额外加注解,直接将对象作为形参就可以

Entity

@TableName("table_name")
@TableName(value = "table_name", autoResultMap = true)

实体类字段

@TableField(value = "tags", typeHandler = JacksonTypeHandler.class)
@TableId(value = "id", type = IdType.ASSIGN_ID)

MyBatis默认将查询结果中的列值映射到实体类中变量名与列名相同的属性(变量)中。对于列名与变量名有差异,即含有@TableField声明的实体来说,需要用@TableName(autoResultMap=true)标注,以生成新的ResultMap,用于处理数据库行与实体类的映射。

@TableFieldtypeHandler属性用于指定处理属性

@TableId的type属性用于标识数据库主键生成策略

  • AUTO:自动填充,数据库自增,适用于主键由数据库生成的情况。
  • NONE:无状态,不进行任何主键处理,适用于手动输入主键值的情况。
  • INPUT:手动输入,适用于手动指定主键值的情况。
  • ASSIGN_ID:全局唯一ID,可以是数字类型或字符串类型,使用雪花算法等生成全局唯一ID。
  • ASSIGN_UUID:全局唯一UUID,使用 UUID 生成全局唯一标识。

Request类

@DateTimeFormat(pattern = "yyyy-MM-dd")

@DateTimeFormatpattern可以基于以下时间描述方式定义:

  • yyyy:四位数的年份,如 2021。
  • MM:两位数的月份,如 09。
  • dd:两位数的日期,如 23。
  • HH:24小时制的小时,如 13。
  • mm:分钟,如 45。
  • ss:秒数,如 30。
  • SSS:毫秒数,如 123。
  • E:星期几的简称,如 Mon。
  • EEE:星期几的缩写,如 Fri。
  • EEEE:星期几的全称,如 Tuesday。
  • MMMM:月份的全称,如 September。
  • MMM:月份的缩写,如 Sep。

标签:实体类,SpringBoot,TableName,value,ID,path,注解,主键
From: https://www.cnblogs.com/hsjia/p/17480687.html

相关文章

  • 【React工作记录一百零五】springBoot+vue实现登录操作和JWT验证
    前言大家好我是歌谣今天继续进行前后端的一个学习目前进入的是javaweb部分今天来聊聊登录部分和JWT验证部分的书写用户登录loginControllerpackagecom.itheima.controller;importcom.itheima.pojo.Emp;importcom.itheima.pojo.Result;importcom.itheima.service.EmpSer......
  • webStorm添加elementui注解
    https://element.eleme.io  添加成功后的效果 ......
  • IDEA 退出 springboot 应用没有关闭
    使用idea发现的问题。当运行spring-boot:run启动项目后,在控制台关闭项目。再次启动项目,报错端口被占用  Addressalreadyinuse:bind。后发现虽然使用idea控制台关闭项目,但是实际上该项目依旧在运行中,只能通过kill进程id来解决。但是这种方式极不方便,总不能每次都......
  • 基于SpringBoot+MyBatis+Thymeleaf的学生管理系统搭建
    学生管理系统Maven工程搭建【步骤】:打开IDEA工具,选择创建一个新工程。选择SpringInitializr,点击Next按钮。大家也可以通过Spring提供的在线创建的方式创建工程,访问(https://start.spring.io),然后将创建后的工程代码zip包解压后,使用IDEA导入工程。这种方式不在本文描述......
  • SpringBoot启动类@SpringBootApplication注解
    在springBoot的启动类中,提供了一个mai函数的程序入口,来启动加载SpringBoot程序,那么注解@SpringBootApplication,通过源码可以看到,它相当于@ComponentScan+@EnableAutoConfiguration+@SpringBootConfiguration。通过@SpringBootConfiguration注解的源码得知,其配置了一个@Confi......
  • 注解和反射
    注解和反射注解什么是注解?Annotation是从JDK5.0开始引入的新技术。Annotation的作用:不是程序本身,可以对程序作出解释(这一点和注释(comment)没什么区别)。可以被其他程序(比如:编译器等)读取。Annotation的格式:注解是以“@注释名”在代码中存在的,还可以添加一些参数......
  • SpringBoot自定义线程池
    SpringBoot自定义线程池在SpringBoot中,可以使用@Configuration和@Bean去设置线程池,用@Value去做线程池的参数配置。线程池配置:importcom.google.common.util.concurrent.ThreadFactoryBuilder;importorg.springframework.beans.factory.annotation.Value;importor......
  • springboot+JXLS+Jexl实现报表模版生成报表
    前言做这个项目的思路是由于公司基于自身发展,需要将之前的老项目平台拆解出来,由于之前的项目是所有的功能全部集中在一起,学习成本以及后续的扩展性来说,非常的不友好,并且由于之前设计人员的流失导致了项目无法进一步优化,所以想将其进行拆解,将单个功能模块进行拆分,形成微服务化,使每......
  • Java中@Transactional 注解使用注意事项
    隔离级别关键词原子性(Atomicity):事务是数据库的逻辑工作单位,它对数据库的修改要么全部执行,要么全部不执行。一致性(Consistemcy):事务前后,数据库的状态都满足所有的完整性约束。隔离性(Isolation):并发执行的事务是隔离的,一个不影响一个。如果有两个事务,......
  • springboot~代码风格统计spring-javaformat-maven-plugin插件
    SpringJavaformat是Spring团队开发的一款基于GoogleJavaFormat的代码格式化工具,可以帮助Java开发者自动化进行代码格式化,提高代码质量,降低代码维护成本。SpringJavaformat可以自定义配置文件,支持大量的代码风格配置选项,满足不同项目和团队的需求。还可以与Gradle、Maven、Int......