贾鸿硕的博客

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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。
posted on 2023-06-14 17:23  jhsss  阅读(22)  评论(0编辑  收藏  举报