package com.yanzuoguang.dao; import com.yanzuoguang.util.helper.StringHelper; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * 途比达列明映射 */ @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.FIELD}) public @interface SqlFieldAnnotation { /** * Sql参数名称,默认等于当前字段 * * @return */ String name() default StringHelper.EMPTY; /** * Sql前台输入参数名称,默认等于当前字段 * * @return */ String[] input() default {}; /** * 是否必须输入,当必须输入时,则该字段关联的sql语句为必须输入的参数 * * @return */ boolean require() default false; /** * 字段代码片段,关联到 {FIELD} * * @return */ String[] field() default {}; /** * inner代码片段,关联到 {INNER} * * @return */ String[] inner() default {}; /** * 条件代码片段,关联到 {INNER} * * @return */ String[] where() default {}; /** * 统计代码片段,关联到 {GROUP} * * @return */ String[] group() default {}; /** * 统计代码片段,关联到 {ORDER} * * @return */ String[] order() default {}; /** * 统计代码片段,关联到 {LIMIT} * * @return */ String[] limit() default {}; /** * 包含的代码片段 * * @return */ String[] codes() default {}; }