@Controller
| 标记在类上面,类就是一个Controller对象;只是定义了一个控制器类。 |
@RestController
| 写在Controller类之前,添加该注解即可返回JSON格式的数据; |
| @RestController = @Controller + @ResponseBody, |
@ResponseBody
@RequestMapping("/url")
| 映射 Request 请求与处理器,是真正处理请求的处理器。 |
| 写在Controller类前或类方法前,表示该类或该方法映射的URL,当我们访问该URL时,就会自动调用相应的处理方法 |
@PostMapping
| 相当于@RequestMapping(method = ReuqestMethod.POST ) |
@GetMapping
| 相当于@RequestMapping(method = ReuqestMethod.GET ) |
@PathVariable(GET专用)
| 通常我们用URL Template样式映射,即url/{param}这种形式,我们可以获取到URL后的参数; |
@RequestParam(POST、GET均可)
| 用于获取多个参数,以及application/x-www-form-urlencoded传来的JSON对象,在()中传入需要获取参数的参数名; |
@RequestBody(POST专用)
| 用的最多的注解,该注解与@RequestParam作用类似,区别在于: |
| 将①传来的多个参数用Map或Entity统一接收,而不用对每个参数分别写注解; |
| ②application/json传来的Json字符串的处理; |
@Autowired
@Resource
| 是名称驱动的注入 [参考](https: |
| |
| 一般用在类属性或者setter方法上声明属性需要自动装配 |
| 1.Resource注解中指定了bean的名称,则Spring会只按注解中的bame属性查找合适对象,然后进行装配. |
| 2.Resource注解中没有指定bean名称,先按类属性的变量名查找,如果还是未找到,则按类型进行查找. |
@Data
| 注在类上,提供类的get、set、equals、hashCode、toString等方法 |
@GridBase()
| 用来标注表格是否启动分页,是否启用导出功能,是否支持后端加载数据等功能 |
@Table()
| 声明此对象映射到数据库的数据表,通过它可以为实体指定表 |
| ```常用属性: name命名当前实体类对应的数据库中表名; |
| uniqueConstraints 用来批量命名唯一键 批量命名 ; |
| ``` |
@Column()
| 用来标识实体类中属性与数据表中字段的对应关系 |
| ```常用属性: name 定义被标注字段在数据库表中所对应字段的名称; |
| unique 表示该字段是否为唯一标识 |
| nullable 表示该字段是否可以为null值 |
| table 表示当映射多个表时,指定表的表中的字段 |
| |
| ``` |
@Id() 和 @GeneratedValue()
| @Id 标注用于声明一个实体类的属性映射为数据库的主键列 |
| @GeneratedValue 用于标注主键的生成策略,通过strategy 属性指定底层数据库的主键生成策略: |
| ```SqlServer对应identity,MySQL 对应 auto increment |
| –IDENTITY:采用数据库ID自增长的方式来自增主键字段,Oracle 不支持这种方式; |
| –AUTO: JPA自动选择合适的策略,是默认选项; |
| –SEQUENCE:通过序列产生主键,通过@SequenceGenerator 注解指定序列名,MySql不支持这种方式 |
| –TABLE:通过表产生主键,框架借由表模拟序列产生主键,使用该策略可以使应用更易于数据库移植。 |
| ``` |
@GridColumn()
| 查询条件,默认为模糊查询,可以设置等于、大于、小于查询 |
@Excel()
| 导入导出功能来加快数据的操作, 在需要被导入导出的实体类属性添加 |
| ```常用属性: name 列名 |
| width 列宽 |
| isWrap 是否换行 |
| needMerge 是否合并单元格式 |
| ``` |
| 用来表示json序列化的一种格式或者类型,是一个时间格式化注解实现日期格式自动格式化 (出参) |
| ```常用属性: pattern: 表示日期的格式 |
| timezone: 默认是GMT,中国需要GMT+8 |
| shape: 表示序列化后的一种类型,枚举 |
| locale: 根据位置序列化的一种格式 |
| ``` |
| 格式化参数 (入参) |
| ```常用属性: pattern: 表示日期的格式 |
| ``` |
@JSONField()
| 可以用在方法(method),属性(field)以及方法中的参数(parameter)上 |
| ```常用属性: @JSONField(ordinal =0) 序列化字段的顺序,默认是0 |
| @JSONField(name = “”) 用于解决属性名和key不一致的情况 |
| @JSONField(format = “yyyy-MM-dd HH:mm:ss”) 用在Date属性上,自动格式化日期 |
| @JSONField(serialize = false) 是否要把这个字段序列化成JSON字符串,默认是true |
| @JSONField(deserialize = false) 字段是否需要进行反序列化,默认是true |
| ``` |
@Transient
| 不做库表的orm 映射处理, 但在程序中仍然可以使用它. |
| `无get方法时使用` |
@Param
| 为SQL语句中参数赋值而服务的,作用就是给参数命名 |
| @Param注解基本类型的参数 |
| ~~~ |
| mapper中的方法: |
| public User selectUser(@Param("userName") String name,@Param("password") String pwd); |
| 映射到xml中的<select>标签 |
| <select id="selectUser" resultMap="User"> |
| select * from user where user_name = |
| </select> |
| ~~~ |
| |
| @Param注解JavaBean对象 |
| ~~~ SQL语句通过@Param注解中的别名把对象中的属性取出来然后复制 |
| mapper中的方法: |
| public List<User> getAllUser(@Param("user") User u); |
| 映射到xml中的<select>标签 |
| <select id="getAllUser" parameterType="com.vo.User" resultMap="userMapper"> |
| select |
| from user t where 1=1 |
| and t.user_name = |
| and t.user_age = |
| </select> |
| ~~~ |
@Transactional
| 是声明式事务管理 编程中使用的注解 |
| 实质是使用了 JDBC 的事务来进行事务控制的 |
@Builder
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
2021-10-09 【windows】win+R 及 doc 常用命令
2021-10-09 【windows】 win系统护眼模式设置
2021-10-09 【windows】win常用快捷键
2021-10-09 【windows】windows 系统磁盘分区