java手写操作日志功能:注解分析和设计(二)

一.需要注解传的字段
1.模块名
2.方法名
3.搜索条件(一般要把修改的id传进来,不然怎么对比新旧数据,怕有批量操作,想想撸代码的时候也支持下批量修改。。。)
4.修改的实体名称
5.操作类型
6.查询数据库所调用的class文件(这个很关键,要用来搜索数据库得到旧数据,比较修改点)

注:我这里用的是mybatis-plus,基础mapper是由mybatis-plus提供的BaseMapper。要是用的JPA,也有相应的JpaMapper,要是都没有,就得自己写个基础mapper了

二.注解设计----直接贴代码了

@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface OperationLogFlag {
/**
* 模块名
*
* @return
*/
String module() default “”;

/**
 * 方法名
 *
 * @return
 */
String methodName() default "";

/**
 * 搜索条件
 *
 * @return
 */
String searchInfo() default "";

/**
 * 修改的实体名称
 *
 * @return
 */
String domainName() default "";

/**
 * 操作类型
 *
 * @return
 */
String operationType() default "";


/**
 * 查询数据库所调用的class文件
 *
 * @return
 */
Class serviceclass() default BaseMapper.class;

}

你可能感兴趣的:(Java开发)