Interface DynamicTableMapper<T,P>

Type Parameters:
T - 实体类型
P - 主键类型

public interface DynamicTableMapper<T,P>
支持动态表名的 SQL 映射接口

相比 BaseMapper,所有方法都需要显式传入表名参数

Since:
2026-01-07 11:00
Author:
夜雨
  • Method Details

    • selectByPage

      @SelectProvider(type=DynamicTableSQLProvider.class, method="selectByPage") List<T> selectByPage(@Param("tableName") String tableName, @Param("page") Page<T> page)
      根据 Page 对象查询数据列表
      Parameters:
      tableName - 表名
      page - 分页参数
      Returns:
      数据列表
    • countByPage

      @SelectProvider(type=DynamicTableSQLProvider.class, method="countByPage") long countByPage(@Param("tableName") String tableName, @Param("page") Page<T> page)
      根据 Page 对象统计数据量
      Parameters:
      tableName - 表名
      page - 分页参数
      Returns:
      数据量
    • selectPageResult

      default PageResult<T> selectPageResult(String tableName, Page<T> page)
      分页查询
      Parameters:
      tableName - 表名
      page - 分页参数
      Returns:
      分页结果
    • selectAll

      @SelectProvider(type=DynamicTableSQLProvider.class, method="selectAll") List<T> selectAll(@Param("tableName") String tableName)
      查询全部数据
      Parameters:
      tableName - 表名
      Returns:
      数据列表
    • insert

      @InsertProvider(type=DynamicTableSQLProvider.class, method="insert") @Options(useGeneratedKeys=true, keyProperty="entity.id") void insert(@Param("tableName") String tableName, @Param("entity") T entity)
      创建数据
      Parameters:
      tableName - 表名
      entity - 数据对象
    • select

      @SelectProvider(type=DynamicTableSQLProvider.class, method="select") T select(@Param("tableName") String tableName, @Param("id") P id)
      根据 ID 获取对象
      Parameters:
      tableName - 表名
      id - 索引
      Returns:
      数据对象
    • selectByExample

      default T selectByExample(String tableName, T entity)
      根据示例查询单条数据
      Parameters:
      tableName - 表名
      entity - 示例对象
      Returns:
      数据对象
    • selectByExample

      @SelectProvider(type=DynamicTableSQLProvider.class, method="selectByExample") T selectByExample(@Param("tableName") String tableName, @Param("entity") T entity, @Param("logic") Logic logic)
      根据示例查询单条数据
      Parameters:
      tableName - 表名
      entity - 示例对象
      logic - 条件连接逻辑
      Returns:
      数据对象
    • selectAllByExample

      default List<T> selectAllByExample(String tableName, T entity)
      根据示例查询全部数据
      Parameters:
      tableName - 表名
      entity - 示例对象
      Returns:
      数据列表
    • selectAllByExample

      @SelectProvider(type=DynamicTableSQLProvider.class, method="selectAllByExample") List<T> selectAllByExample(@Param("tableName") String tableName, @Param("entity") T entity, @Param("logic") Logic logic)
      根据示例查询全部数据
      Parameters:
      tableName - 表名
      entity - 示例对象
      logic - 条件连接逻辑
      Returns:
      数据列表
    • update

      @UpdateProvider(type=DynamicTableSQLProvider.class, method="update") void update(@Param("tableName") String tableName, @Param("entity") T entity)
      修改数据
      Parameters:
      tableName - 表名
      entity - 数据对象
    • updateSelective

      @UpdateProvider(type=DynamicTableSQLProvider.class, method="updateSelective") void updateSelective(@Param("tableName") String tableName, @Param("entity") T entity)
      选择性更新
      Parameters:
      tableName - 表名
      entity - 数据对象
    • delete

      @UpdateProvider(type=DynamicTableSQLProvider.class, method="delete") void delete(@Param("tableName") String tableName, @Param("id") P id)
      软删除
      Parameters:
      tableName - 表名
      id - 索引
    • deleteAllByExample

      default void deleteAllByExample(String tableName, T entity)
      根据示例批量逻辑删除
      Parameters:
      tableName - 表名
      entity - 示例对象
    • deleteAllByExample

      @UpdateProvider(type=DynamicTableSQLProvider.class, method="deleteAllByExample") void deleteAllByExample(@Param("tableName") String tableName, @Param("entity") T entity, @Param("logic") Logic logic)
      根据示例批量逻辑删除
      Parameters:
      tableName - 表名
      entity - 示例对象
      logic - 条件连接逻辑
    • destroy

      @DeleteProvider(type=DynamicTableSQLProvider.class, method="destroy") void destroy(@Param("tableName") String tableName, @Param("id") P id)
      销毁(物理删除)
      Parameters:
      tableName - 表名
      id - 索引
    • destroyAllByExample

      default void destroyAllByExample(String tableName, T entity)
      根据示例批量销毁(物理删除)
      Parameters:
      tableName - 表名
      entity - 示例对象
    • destroyAllByExample

      @DeleteProvider(type=DynamicTableSQLProvider.class, method="destroyAllByExample") void destroyAllByExample(@Param("tableName") String tableName, @Param("entity") T entity, @Param("logic") Logic logic)
      根据示例批量销毁(物理删除)
      Parameters:
      tableName - 表名
      entity - 示例对象
      logic - 条件连接逻辑