support extends SQLProvider
This commit is contained in:
@ -272,7 +272,7 @@ public class SQLProvider {
|
|||||||
* @param context 代理器上下文
|
* @param context 代理器上下文
|
||||||
* @return 实体类元数据
|
* @return 实体类元数据
|
||||||
*/
|
*/
|
||||||
private EntityMeta getEntityMeta(ProviderContext context) {
|
protected EntityMeta getEntityMeta(ProviderContext context) {
|
||||||
Type[] types = context.getMapperType().getGenericInterfaces();
|
Type[] types = context.getMapperType().getGenericInterfaces();
|
||||||
ParameterizedType type = (ParameterizedType) types[0];
|
ParameterizedType type = (ParameterizedType) types[0];
|
||||||
Class<?> entityClass = (Class<?>) type.getActualTypeArguments()[0];
|
Class<?> entityClass = (Class<?>) type.getActualTypeArguments()[0];
|
||||||
@ -285,7 +285,7 @@ public class SQLProvider {
|
|||||||
* @param entityClass 实体类
|
* @param entityClass 实体类
|
||||||
* @return 元数据
|
* @return 元数据
|
||||||
*/
|
*/
|
||||||
private EntityMeta getEntityMeta(Class<?> entityClass) {
|
protected EntityMeta getEntityMeta(Class<?> entityClass) {
|
||||||
return ENTITY_META_CACHE.computeIfAbsent(entityClass, EntityMeta::new);
|
return ENTITY_META_CACHE.computeIfAbsent(entityClass, EntityMeta::new);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -295,7 +295,7 @@ public class SQLProvider {
|
|||||||
* @author 夜雨
|
* @author 夜雨
|
||||||
* @since 2025-02-05 23:47
|
* @since 2025-02-05 23:47
|
||||||
*/
|
*/
|
||||||
private static class EntityMeta {
|
protected static class EntityMeta {
|
||||||
|
|
||||||
/** 实体类 */
|
/** 实体类 */
|
||||||
final Class<?> entityClass;
|
final Class<?> entityClass;
|
||||||
@ -375,6 +375,42 @@ public class SQLProvider {
|
|||||||
canDelete = Deletable.class.isAssignableFrom(entityClass);
|
canDelete = Deletable.class.isAssignableFrom(entityClass);
|
||||||
canDestroy = Destroyable.class.isAssignableFrom(entityClass);
|
canDestroy = Destroyable.class.isAssignableFrom(entityClass);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Class<?> getEntityClass() {
|
||||||
|
return entityClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTable() {
|
||||||
|
return table;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSelectAllClause() {
|
||||||
|
return selectAllClause;
|
||||||
|
}
|
||||||
|
|
||||||
|
public FieldColumn getIdFieldColumn() {
|
||||||
|
return idFieldColumn;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<FieldColumn> getFieldColumnList() {
|
||||||
|
return fieldColumnList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean canCreate() {
|
||||||
|
return canCreate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean canUpdate() {
|
||||||
|
return canUpdate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean canDelete() {
|
||||||
|
return canDelete;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean canDestroy() {
|
||||||
|
return canDestroy;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -383,7 +419,7 @@ public class SQLProvider {
|
|||||||
* @author 夜雨
|
* @author 夜雨
|
||||||
* @since 2025-02-07 09:54
|
* @since 2025-02-07 09:54
|
||||||
*/
|
*/
|
||||||
private static class FieldColumn {
|
protected static class FieldColumn {
|
||||||
|
|
||||||
/** 字段 */
|
/** 字段 */
|
||||||
final Field field;
|
final Field field;
|
||||||
@ -421,5 +457,29 @@ public class SQLProvider {
|
|||||||
isAutoUpperUUID = false;
|
isAutoUpperUUID = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Field getField() {
|
||||||
|
return field;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFieldName() {
|
||||||
|
return fieldName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getColumnName() {
|
||||||
|
return columnName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isId() {
|
||||||
|
return isId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isAutoUUID() {
|
||||||
|
return isAutoUUID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isAutoUpperUUID() {
|
||||||
|
return isAutoUpperUUID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user