JAVA自定义注解应用

2026-04-02 08:03:44

1、新建自定义注解Insert

@Retention(RetentionPolicy.RUNTIME)

@Target(ElementType.METHOD)

public @interface Insert {

    public String value();

}

JAVA自定义注解应用

2、新建接口

在接口上加上刚写好的Insert注解

public interface PersonMapper {

    @Insert("insert into person (id, name, sex, age, isDelete) values (?,?,?,?,?)")

    public void addPerson(String id, String name, String sex, Integer age, Boolean isDelete);

}

JAVA自定义注解应用

3、新建PersonMapper接口的实现类MethodProxyFactory

并新建getBean方法提供访问点

JAVA自定义注解应用

4、重写PersonMapper接五况眠口的addPerson方法,利用反射获取注解

JAVA自定义注解应用

5、写一个测试方法,调用PersonMapper的添加addPerson方法

JAVA自定义注解应用

6、这时的是没有拼接参数的,如果使用Mybatis框架,自己编写insert方法实现插入数毙激据库即可

String sql = method.getAnnotation(Insert.class).value();

                System.out.println(sql);

                //具体的插入数据库操作

                //insert(sql, parameters);

JAVA自定义注解应用

7、修改addPerson方法,将参数打印出来

System.out.println(id+",  "+name+",  "+sex+",  "+age+",  "+isDelete);

JAVA自定义注解应用

8、下图是参数打海亲印结果及Person实体属性

JAVA自定义注解应用

JAVA自定义注解应用

猜你喜欢