41.Mybatis注解、级联查询

注解

注释:单行、多行、文本

注释是给程序员看的,

注解是给程序用的,程序运行期间可以去读取到注解中的内容。

内置注解:

java提供的,只管用就可以了。

@Override @Overload

@Deprecated:用于标记当前方法已过时

@SuppressWarnings(“all”):用于压制警告 一般该注解会提供参数:all,表示压制所有警告。

元注解:

用于标记其他注解的注解。

@Documented

@Target:用于表明被注解的注解能够出现的位置。(在哪生效)

@Retention:用于表明被注解的注解能够出现的时期 (针对的对象)

@Inherited: 用于表明被注解的注解去注解了某个类时,该类的子类能够继承被注解的注解

自定义注解

使用元注解来标记某个注解

@Target:用于表明被注解的注解能够出现的位置。()

@Retention:用于表明被注解的注解能够出现的时期

创建自定义注解,使用元注解来指定注解出现的位置,指定注解可以生效的时期…

package com.woniuxy.annotaiton;

import java.lang.annotation.*;

/**
 * 使用元注解来标记自定义注解能够出现的位置,能够出现的时期,是否能够被继承,生成doc文档时能够看到注解
 */
//@Documented
@Target({
   ElementType.TYPE,ElementType.METHOD})//表明注解能够出现的位置,常用值:TYPE(类上),METHOD(方法上),FIELD(成员变量上),PARAMETER(方法形参上)
@Retention(RetentionPolicy.RUNTIME)//SOURCE(源码),CLASS(字节码),RUNTIME(运行期)
//@Inherited
public @interface MyAnnotation {
   

    /**
     * 声明注解要附带的值语法
     *
     * 类型  属性名();
     *
     * 类型:8大基本数据类型    String    enum(枚举);
     *
     * 如果需要指定默认值,则应通过default 关键字来实现
     *
     * 值的个数:要么单个  要么使用数组
     *
     *
     * @return
     */
    int[] value() default 5;

    String name();

}

使用自定义注解

@MyAnnotation(name = "tom",value = 10)
public class User {
   
    private String username;

    @MyAnnotation(name = "jack",value = 50)
    public void speak(){
   
        System.out.println(111);
    }
}

读取注解的内容

package com.woniuxy.test;

import com.woniuxy.annotaiton.MyAnnotation;
import com.woniuxy.model.User;

import java.lang.reflect.Method;

public class Test {
   
    public static void main(String[] args) throws NoSuchMethodException {
   
        Class<User> clazz = User.class;


        if (clazz.isAnnotationPresent(MyAnnotation.class)) {
   //判断User类上是否有MyAnnotation注解
            MyAnnotation annotation = clazz.getAnnotation(MyAnnotation.class);
            System.out.println(annotation.name());
            int[] values = annotation.value();
            for (int value : values) {
   
                System.out.println(value)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值