Package com.imyeyu.spring.mapper
Interface DynamicTableMapper<T,P>
- Type Parameters:
T- 实体类型P- 主键类型
public interface DynamicTableMapper<T,P>
支持动态表名的 SQL 映射接口
相比 BaseMapper,所有方法都需要显式传入表名参数
- Since:
- 2026-01-07 11:00
- Author:
- 夜雨
-
Method Summary
Modifier and TypeMethodDescriptionlongcountByPage(String tableName, Page<T> page) 根据 Page 对象统计数据量void软删除default voiddeleteAllByExample(String tableName, T entity) 根据示例批量逻辑删除voiddeleteAllByExample(String tableName, T entity, Logic logic) 根据示例批量逻辑删除void销毁(物理删除)default voiddestroyAllByExample(String tableName, T entity) 根据示例批量销毁(物理删除)voiddestroyAllByExample(String tableName, T entity, Logic logic) 根据示例批量销毁(物理删除)void创建数据根据 ID 获取对象查询全部数据selectAllByExample(String tableName, T entity) 根据示例查询全部数据selectAllByExample(String tableName, T entity, Logic logic) 根据示例查询全部数据default TselectByExample(String tableName, T entity) 根据示例查询单条数据selectByExample(String tableName, T entity, Logic logic) 根据示例查询单条数据selectByPage(String tableName, Page<T> page) 根据 Page 对象查询数据列表default PageResult<T> selectPageResult(String tableName, Page<T> page) 分页查询void修改数据voidupdateSelective(String tableName, T entity) 选择性更新
-
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
分页查询- 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
根据示例查询单条数据- 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
根据示例查询全部数据- 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
根据示例批量逻辑删除- 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
根据示例批量销毁(物理删除)- 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- 条件连接逻辑
-