rename: 重命名 TableRef 类。

This commit is contained in:
Suomm 2024-04-07 12:11:20 +08:00
parent cd6c27bb2f
commit 8b7c08ce14
5 changed files with 58 additions and 16 deletions

View File

@ -29,14 +29,14 @@ import java.lang.annotation.Target;
*/
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface ViewObject {
public @interface TableRef {
/**
* 对应的 <b>实体类</b> 引用
*
* @return 实体类引用
*/
Class<?> ref();
Class<?> value();
/**
* 是否复制引用类 {@code @Table} 注解上的内容默认为{@code true}

View File

@ -15,7 +15,16 @@
*/
package com.mybatisflex.core.table;
import com.mybatisflex.annotation.*;
import com.mybatisflex.annotation.Column;
import com.mybatisflex.annotation.ColumnAlias;
import com.mybatisflex.annotation.ColumnMask;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.InsertListener;
import com.mybatisflex.annotation.NoneListener;
import com.mybatisflex.annotation.SetListener;
import com.mybatisflex.annotation.Table;
import com.mybatisflex.annotation.TableRef;
import com.mybatisflex.annotation.UpdateListener;
import com.mybatisflex.core.BaseMapper;
import com.mybatisflex.core.FlexGlobalConfig;
import com.mybatisflex.core.exception.FlexExceptions;
@ -23,20 +32,53 @@ import com.mybatisflex.core.query.QueryChain;
import com.mybatisflex.core.query.QueryColumn;
import com.mybatisflex.core.query.QueryCondition;
import com.mybatisflex.core.query.QueryWrapper;
import com.mybatisflex.core.util.*;
import com.mybatisflex.core.util.ClassUtil;
import com.mybatisflex.core.util.CollectionUtil;
import com.mybatisflex.core.util.MapUtil;
import com.mybatisflex.core.util.Reflectors;
import com.mybatisflex.core.util.StringUtil;
import org.apache.ibatis.io.ResolverUtil;
import org.apache.ibatis.reflection.Reflector;
import org.apache.ibatis.reflection.TypeParameterResolver;
import org.apache.ibatis.type.*;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.TypeException;
import org.apache.ibatis.type.TypeHandler;
import org.apache.ibatis.type.TypeHandlerRegistry;
import org.apache.ibatis.type.UnknownTypeHandler;
import java.lang.reflect.*;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.lang.reflect.TypeVariable;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.Time;
import java.sql.Timestamp;
import java.time.*;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.Month;
import java.time.OffsetDateTime;
import java.time.OffsetTime;
import java.time.Year;
import java.time.YearMonth;
import java.time.ZonedDateTime;
import java.time.chrono.JapaneseDate;
import java.util.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
@ -182,9 +224,9 @@ public class TableInfoFactory {
// 初始化表名
Table table = entityClass.getAnnotation(Table.class);
if (table == null) {
ViewObject vo = entityClass.getAnnotation(ViewObject.class);
TableRef vo = entityClass.getAnnotation(TableRef.class);
if (vo != null) {
TableInfo refTableInfo = ofEntityClass(vo.ref());
TableInfo refTableInfo = ofEntityClass(vo.value());
// 设置 VO 类对应的真实的表名
tableInfo.setSchema(refTableInfo.getSchema());
tableInfo.setTableName(refTableInfo.getTableName());

View File

@ -16,7 +16,7 @@
package com.mybatisflex.test.alisa;
import com.mybatisflex.annotation.ViewObject;
import com.mybatisflex.annotation.TableRef;
/**
* 部门
@ -24,7 +24,7 @@ import com.mybatisflex.annotation.ViewObject;
* @author 王帅
* @since 2023-11-16
*/
@ViewObject(ref = SysDept.class)
@TableRef(SysDept.class)
public class DeptVO extends BaseEntity {
private Integer id;

View File

@ -16,7 +16,7 @@
package com.mybatisflex.test.alisa;
import com.mybatisflex.annotation.ViewObject;
import com.mybatisflex.annotation.TableRef;
/**
* 角色
@ -24,7 +24,7 @@ import com.mybatisflex.annotation.ViewObject;
* @author 王帅
* @since 2023-11-16
*/
@ViewObject(ref = SysRole.class)
@TableRef(SysRole.class)
public class RoleVO extends BaseEntity {
private Integer id;

View File

@ -17,7 +17,7 @@
package com.mybatisflex.test.alisa;
import com.mybatisflex.annotation.ColumnAlias;
import com.mybatisflex.annotation.ViewObject;
import com.mybatisflex.annotation.TableRef;
import java.util.Date;
import java.util.List;
@ -28,7 +28,7 @@ import java.util.List;
* @author 王帅
* @since 2023-11-16
*/
@ViewObject(ref = SysUser.class)
@TableRef(SysUser.class)
public class UserVO extends BaseEntity {
private Integer id;