java基础篇-注解

【JavaEE】MyBatis resultMap与resultType 多表查询 (一对一 + 一对多) 详解 【JavaEE】MyBatis resultMap与resultType 多表查询 (一对一 + 一对多) 详解 阅读详情

注解缘起

       从开始接触java时起,就被Spring这个名词所环绕;当时天真的认为难道这个工作和“春天”有关?一晃现在已经工作快8年了,四季变换,这个“春天”原来是我一直未放下的痛...

注解功效

      你可以把他理解为学习语文时用到的“修饰符”:通过不同的修饰符可以解释不同的语句。让开发变得更加简洁!

注解名单

      由于之前工作中对注解没有仔细的研究过,因此本文会在实际开发过程中进行随时补充,慢慢将之前丢弃的知识进行补漏。

      Spring boot 特有注解

       前提: Spring boot 抛弃XML配置文件,可以自动扫描包路径装载并注入对象,并能做到根据 classpath 下的 jar 包自动配置。

       1) @Configuration:

             通过该注解名字的翻译就可以很直观的理解就是之前Spring框架中的配置文件的意思。此注解为Spring 3.0时代产物,用来替代applicationContext.xml配置文件。

       2)@EnableAutoConfiguration:

             Spring boot自动配置的注解,通过此注解Spring boot能够根据当前类路径下的包或者类来配置 Spring Bean。

       3)@ComponentScan:

             自动扫描指定包下的全部标有@Component的类,并注册成bean,当然包括@Component下的子注解@Service,@Repository,@Controller。用来替代配置文件中的 component-scan 配置。

       4)@SpringBootApplication:

             Spring boot最核心的注解!!!用于标记Spring boot应用,作用于主类上,用于启动框架各项功能。该注解其实为上述三个注解合体。

       Spring MVC常用注解

        1) @Controller:

               作用于类上,标识该类为控制器。在Spring MVC整体运作流程中controller负责处理DispactherServlet分发的请求。通常该注解会结合@RequestMapping同时使用,@Controller 只是定义了一个控制器类,而使用@RequestMapping 注解的方法才是真正处理请求的处理器。

               例如:

                @Controller

                 public class TestController() {...}

       2)@RequestMapping:

             建立请求URL和处理方法之间的对应关系。通常作用于方法上,也可作用于类上。

             当作用于类上时: 第一级访问目录;

             当作用于方法上时: 第二级访问目录;

             注解涉及的属性:

               path-指定请求路径的URL
               value属性和path属性是一样的
               mthod 指定该方法的请求方式
               params 指定限制请求参数的条件
               headers 发送的请求中必须包含的请求头

               例如:

               @Controller

               @RequestMapping("/api/test")

                public class testController(){...}

              

       3)@Autowired:

            注入属性,通过此注解可省去set和get方法。此注入方法使用的是“byType”方式(也就是面试中常问的:通过类型注入);

           例如;

           public class testController() {

                @Autowired

                private TestService service;

          }

          4) @RequestBody:

                 该注解用于将请求的参数放在request中请求体中,而不是拼接在请求地址后面;在日常开发过程中常用于在方法中接收实体传参;

           例如:

           public class testController() {

                  @Autowired

                  private TestService service;

                 public void testAdd(@RequestBody AddVo vo) {'...}

          }

          

         5) @Resource

              该注解同@Autowird注解一致,用于依赖注入。但同Autowird注解不一样的是,该注解使用的是"byName"(通过名称注入)。

          例如:

          public class testController() {

                  @Autowired

                  private TestService service;

                  @Resource

                  private TestMapper mapper;

                 public void testAdd(@RequestBody AddVo vo) {'...}

          }

         6) @PathVariable:

               用于获取请求URL中的占位符值并用于方法中,该注解为Spring MVC向REST发展的一个标志性注解,

              例如:

             @GetMapping("/{id}")

             public TestVo getTestVoById(@PathVariable("id") String id) {...}

             上述样例代码中:该注解将@GetMappinig请求URL中的id值获取,用作方法参数。

        7) @RequestParam:

              该注解用于方法中,获取请求参数。

              例如:

              public void delTest(@RequestParam("id") String id){...}

         8) @ResponseBody:

                该注解用于类上,将Controller中的方法返回值封装到response中的body中。

                例如:

                @RequestMapping("/login")
          @ResponseBody
          public User login(User user){
          return user;
          }

             

        Swagger常用注解

         1) @API

            作用在类上,表明是swagger资源,@API拥有两个属性:value、tags;
            生成的api文档会根据tags分类,直白的说就是这个controller中的所有接口生成的接口文档都会在tags这个list下;
            tags如果有多个值,会生成多个list,每个list都显示所有接口;
       
            例如: @Api(tags="列表1");  @Api(tags={"列表1","列表2"});

            @Api(tags="注解测试说明",valu额= "test-controller")

            public class TestContoller(){...}

          

           2)@ApiOperation

               作用于在方法上,表示一个http请求的操作;主要用于描述接口。

               例如:@ApiOperation(value = "获取问题概要列表(条件分页)")

               @RestController

               @Api(tags="注解测试说明",valu额= "test-controller")

                public class TestContoller(){

                      @ApiOperation(value="查询测试列表")

                       public TestVo getTest(){...}

                }

           3) @ApiParam

                 使用在方法上或者参数上,字段说明;表示对参数的添加元数据(说明或是否必填等);
                  name–参数名
                  value–参数说明
                  required–是否必填

            4) @ApiModel()
                  使用在类上,表示对类进行说明,用于参数用实体类接收;
                  value–表示对象名
                  description–描述

           5) @ApiModelProperty()
                 使用在方法,字段上,表示对model属性的说明或者数据操作更改;
                 value–字段说明
                 name–重写属性名字
                 dataType–重写属性类型
                 required–是否必填
                 example–举例说明
                 hidden–隐藏      

         lombok常用注解

           1) @Data
                 该注解通常用在实体bean上,不需要写出set和get方法,但是具备实体bean所具备的方法,简化编程提高变成速度;
                @Data相当于@Getter @Setter @RequiredArgsConstructor @ToString   @EqualsAndHashCode这5个注解的合集;

                 例如:

                  @Data

                 @ApiModel(value = "问题列表对象,对应前端")

                 public class IssuesListVo {...}

         Mybatis常用注解

          1) @Select

           该注解作用为:快速,简便的执行sql语句。

           例如:

           传统进行表查询操作,需要在Mapper.xml文件中进行编写sql语句然后程序进行执行;

            SELECT NAME FROM STUDENT;

            通过该注解可以直接在Mapper.java文件中进行编写;

            @Select("SELECT NAME FROM STUDENT")

            void queryStudent();

            同时可以通过传参形式将需要执行的sql语句进行配置;

            @Select({"${sql}"})

            void queryStudent(@Param("sql") String sql);

             2) @ResultType

             该注解作用为:定义方法返回类型,同Mapper.xml文件中的resultType一样,可以返回基础类型、对象类型、List、Map;

             例如:

             查询Student表信息使用实体接收,之前在Mapper.xml中进行编写时需要:

            <select id="getStudent" resultType="com.student.entity.Student">

            使用该注解可以为如下:

           @Select("select * from Student")

           @ResultType(Student.class)

            void queryStudent();

YOLOv11改进策略【卷积层】| CVPR 2024 可变形卷积 v4(DCNv4)无界权重提表达 + 线程合并降冗余,强化模型收敛速度 DCNv4(Deformable Convolution v4)是一种专为广泛视觉应用设计的高效算子,它对DCNv3进行了关键改进,有效解决了DCNv3存在的速度慢和表达能力受限等问题。 阅读详情

相关推荐

Android14_MTK调试LCD屏功能

android14 MTK平台调试LCD屏

m0_37786046的博客 1469

MyBatis中常用注解详解 (Results、Result、ResultMap、ResultType、MapKey)

MyBatis是一款优秀的ORM框架,它提供了一系列的注解,使得开发者无需编写冗长的xml文件就可以完成数据的映射,这对于提高开发效率非常有帮助。本篇博客将对常用的注解进行详细的讲解,并提供实际应用的示例以便理解。

辰逸的博客 5680

ECMWF等大气数据批量下载(Python API)详细步骤

ECMWF等大气数据批量下载(Python API) 遥感方向做热红外温度反演,不可避免的要用到大气廓线数据,大气数据具有实时性,比如2018年9月1日的早上8点的影像,为了提高反演精度就需要用到时间上与其相差尽可能接近的大气数据,用于消除大气的影响,如果数据量较少我们可以查看影像的时间和空间范围进行下载,但是如果处理某个较大区域时可能涉及到大量的影像,如果一景一景对应查找去下载会很麻烦,因此针对大量数据的自动批量下载很有必要。本文根据 https://cds.climate.copernicus.eu/#

liuxiaojiangtobeno1的博客 1万+

MyBatis-ResultType的作用等总结

ResultMap:用于类的属性和表的列名不一样时返回结果属性为空,通过ResultMap来定义类的属性和表的类的映射关系,就可以解决属性名和列值不同的问题 StudentDao接口: package com.bjpowernode.dao; import com.bjpowernode.domain.Student; import com.bjpowernode.vo.CustomObject; import com.bjpowernode.vo...

dengfengling999的博客 2133

stm32最小系统_完成一个最小FOC矢量控制系统所需的基本模块和功能配置

当我们读懂 FOC 矢量控制的基本原理之后,便迫不及待的想动手尝试,去实现一个矢量控制系统,让电机先转起来,有一个直观的感受。因此,我们需要设计实现一个矢量控制的最小系统,具备矢量控制的基本功能,满足电机矢量运行的基本条件。首先,看一下矢量控制的基本架构:矢量控制架构如上图所描述,矢量控制系统包括实时电流的采集、clarke 变换、park 变换、SVPWM 、实时角度的反馈和计算以及电流环和速...

weixin_39524048的博客 1782

禅道18.3版本二开避坑指南:手把手教你扩展自定义报表功能

本文详细介绍了禅道18.3版本的二次开发实践,重点讲解如何扩展自定义报表功能。通过zentaoPHP框架的深度定制,从开发环境搭建到核心数据模型扩展,再到可视化配置和性能优化,手把手教你构建多维报表分析系统,满足企业级项目管理需求。

day7的博客 369

mybatis in查询怎么写_Java学习之——MyBatis多表关联查询

要求,我们要从下面的两张表中,查找信息(这里返回的信息是两张表的, 怎么办?之前我们都是一张表):班级表:学生表:定义两个Java中的类:班级类:学生类:1、我们要查找学生的信息,注意上面的图,学生信息里面还封装了班级的信息,我们怎么办? 1、)我们可以使用业务装配方式提取业务到业务层,关键代码如下:分别在班级mapper和学生mapper里面写运行效果:实际上,就相当于是我们先查询学生表t_...

weixin_39963096的博客 1544

告别C盘爆红!手把手教你将WSL2下的Ubuntu 22.04完整迁移到D盘(附清理指南)

本文详细指导如何将WSL2下的Ubuntu 22.04从C盘无损迁移到D盘,包括导出备份、注销原系统、导入新位置等关键步骤,并提供迁移后的优化配置、开发环境衔接及长期维护技巧,帮助用户彻底解决C盘空间不足问题。

weixin_28698059的博客 472

MyBatis-resultType

摘要 正文 查询单条记录返回对象 查询多条记录返回List 查询单条记录返回Map 查询多条记录返回Map 摘要   本文针对XML配置和注解配置说明resultType用法 正文   下面的例子都用过查询User类实现 查询单条记录返回对象 XML配置 &lt;?xml version="1.0" encoding="UTF-8" ?&gt; &lt;...

东京易冷 1894

用 XCO 库一键找出某个 ABAP 类的全部子类

ABAP XCO库子类枚举技术解析 本文介绍了在ABAP项目中如何利用XCO库高效获取类的继承层次结构。传统方法使用CL_ABAP_CLASSDESCR或手动维护映射表存在效率低、易遗漏的问题。新方法通过XCO库的IF_XCO_AO_CLASS接口,可简洁地获取父类的所有子类(包括间接子类)。 核心API链式调用: 获取类句柄:xco_cp_abap=>class() 导航子类集合:subclasses->all 获取结果:get()返回类引用表或get_names()返回类名列表 典型应用场景

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 127

在 SAP SD(销售与分销)模块中,销售合同 / 订单的抬头(Header) 和行项目(Item) 核心数据表如下,按 “核心表 + 扩展表” 分类说明,同时区分销售合同(Contract,类型 W

SAP SD模块中销售合同/订单的核心数据表分为抬头和行项目两类。核心抬头表包括VBAK(基础数据)和VBUK(状态数据),核心行项目表包括VBAP(基础数据)和VBUP(状态数据)。扩展表包含VBAKE(抬头增强)、VBAPe(行项增强)、VBEP(计划行)、VBFA(凭证流)等。销售合同(WK/WC)和订单(OR)通过VBAK-AUART字段区分,核心表结构相同。查询时需注意单据类型筛选,并通过VBELN主键关联抬头和行项数据,KNUMV关联定价条件,VBFA表追踪凭证流。

金牌架构师 1090

JAVA注解篇

JAVA注解篇

&volume的博客 1080

芒果YOLO11改进145:Loss损失函数KLD:即插即用 NeurIPS顶会论文,独家首发原创新颖|通过 Kullback-Leibler 散度学习用于目标检测的高精度边界框

旋转检测Loss损失函数KLD:即插即用 NeurIPS顶会论文,独家首发原创新颖|通过 Kullback-Leibler 散度学习用于目标检测的高精度边界框

包括YOLOv5、YOLOv7、YOLOv8等模型改进 565

Java基础:注解篇

目录概念分类按照来源分类按照作用分类JDK注解使用JDK注解示例自定义注解自定义注解格式注解中抽象方法约束自定义注解的本质元注解@Target@Retention@Documented@Inherited完整的自定义注解示例 概念 注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、...

zhangyuanshuai的博客 234

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【Java 基础篇】Java 注解详解

注解是一种标记在 Java 类、方法、字段和其他程序元素上的特殊标签。这些标签提供了有关元素的额外信息,通常以注解的方式存储在 Java 源代码中。注解通常不影响程序的运行,但可以在编译时、运行时或通过工具进行处理。Java 注解以符号开头,后跟注解的名称,如@Override等。注解可以有元素,元素以键值对的形式存储信息。// 类的内容在上面的示例中,@Author是一个自定义注解,具有两个元素name和date,它们存储了有关类MyClass的信息。

繁依Fanyi的博客 1818

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【总结篇】Java注解总结

注解在 Java5 提出的一个特性,写法简单。注解是 Java 中的 metadate(元数据),其实就是代码里的 ”特殊标记“,这些标记可以在编译、类加载、运行时被读取,并执行相应的处理。通过使用注解,程序员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充信息。 注解 可以像修饰符一样被使用,可用于修饰包、类、构造器、方法、成员变量、参数、局部变量的声明。 使用 注解 时要在前面加 `@` 符号,并把该注解当成一个修饰符使用。

小异常的博客 621

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Java注解篇

1.注解的定义 Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。 2.注解的作用 作用:可对程序作出解释,可被其他程序读取。 3.注解的格式 格式:@注解名(一些参数值) 例:@SuppressWarnings(value=“unchecked”) 4.内置注解和元注解 4.1.内置注解 注解信息 作用 @Override 重写 @Deprecated 不鼓励使用,已废弃 @SuppressWarnings(value = “值”

m0_37775931的博客 174

【Java基础篇】注解

Java1.5-注解作用分类JDK中预定义的一些注解自定义注解元注解 注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。 作用分类 编写文档:通过代码里标识的注解生成文档【生成文档doc文档】 代码分析:通过代码里标识的注解对代码进行分析【使用反射】 编译检查:通过代码里标识的注解让编译器能够实现基本的编译检查【Override

输入技术、输出想法 245

【JAVA基础篇】注解

一、什么是注解? 注解是元数据,所谓元数据就是描述数据的数据。 在annotation诞生之前(jdk1.5诞生了注解),甚至之后,xml被广泛的由于描述元数据。但是后来,有一些应用开发工程师和架构师觉得它越来越难以维护了,他们觉得需要一种和代码紧耦合的东西,而不是xml配置和代码是松耦合的(某些情况下甚至是完全分离的),于是annotation诞生了。 假如你想为应用设置很多的常量或参数,...

cc的博客 185

Java注解简介篇

本文详细介绍java注解是什么,如何声明java注解,如何解析java注解。最后介绍JDK提供的几大基本注解,使用这些基本注解可自定义用户注解。

理查德的博客 557

Java篇 - 深入了解注解

注解在我们平时的开发中到处可见,无论是Javaee还是android开发,如JUnit,ButterKnife,Dagger2,Retrofit,EventBus,android.support.annotation。 今天我来带大家整理一下注解,做到知其然更知其所以然。   目录: 注解的概述 Java预置的注解 元注解 注解的属性 注解与反射(android permiss...

u014294681的博客 2856

Java 注解篇:@AliasFor

在 Spring 框架中,注解的使用非常广泛。为了增强注解的灵活性和可组合性,Spring 引入了一个非常有用的元注解 —— @AliasFor。它主要用于为注解属性之间建立别名关系,使得在使用注解时可以更自由地配置参数,同时也为注解组合与继承提供了强大支持。

x² 2315

Java注解篇:@CrossOrigin

@CrossOrigin 是一个简单但非常实用的注解,极大简化了跨域配置,特别适合前后端分离架构下的 API 接口服务。

x² 3055

java基础-注解篇

    相信搞Java开发的没有没见过java注解的,形如@XXXX这种形式。特别是在最近的web开发框架中,注解表达形式更是大行其道,大有取代原来xml文件配置方式的趋势。在平常应用中,只知道加上这个注解起什么作用,但是怎么起作用就不太清楚,也就是知其然而不知其所以然,所以在闲暇之余就有了这篇注解学习篇。      本文参考《秒懂,java注解你可以这样学》,这篇文章真的写的很好,也是看了这篇文...

u012417552的专栏 240

JAVA-注解篇

JAVA-注解篇一、什么是注解?二、注解有什么用?三、注解的语法?四 、注解可以使用在那些位置?五、java中常用的注解?六、注解中的元注解?六、自定义注解的示例?七、如何使用自定义注解?八、如何使用自定义注解?九、如何使用反射获取注解? 一、什么是注解? 注解 Annotation也一种引用类型数据,在编译后同样会生成.class文件,注解可以述程序所需要的信息, 二、注解有什么用? 注解可以减轻眼样板“代码”的负担,使用注解可以使代码干净易懂,可以在编译期对数据进行检查、验证和测试。 三、注解的语法?

qq_46489900的博客 171

java注解篇

JDK1.5之后引入的一个特性,于接口、枚举、类是同一个层次。可以对包、类、字段、方法、参数、局部变量进行说明、注释。

程序员一博 306
下一篇: 数据库-内置表
JACK YANK
博客等级 码龄9年 0粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值