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.TYPE}) public @interface SqlAnnotation { /** * Sql语句名称,当为空时,则为当前类名称 * * @return */ String[] name() default {}; /** * Sql语句的类型 * * @return */ int sqlType() default DaoConst.SQL_TYPE_COMMON; /** * Sql语句列表,当table和sql都为空时,则根据当前注解 @TableAnnotation 生成对应类型的SQL语句 * * @return */ String sql() default StringHelper.EMPTY; /** * 需要移除的前台输入参数 * * @return */ String[] remove() default {}; /** * 字段代码片段,关联到 {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 {}; }