-
- 类型参数:
T- Entity类型
public interface DistributeTableStrategy<T>分表分库策略,结合@DistributeTable使用
不能与@Cacheable同时使用
使用分表分库功能重点是主键的生成策略,不同场景生成策略不一样
详情见: https://redkale.org
- 作者:
- zhangjx
- 另请参阅:
DistributeTable
-
-
方法概要
所有方法 实例方法 抽象方法 默认方法 已过时的方法 修饰符和类型 方法 说明 default StringgetSource(Serializable primary)获取DataSource资源名,为null表示没有分布物理库
查询单个对象(DataSource.find)时调用本方法default StringgetSource(FilterNode node)获取DataSource资源名,为null表示没有分布物理库
查询、修改、删除对象(DataSource.find、DataSource.query、DataSource.delete、DataSource.update)时调用本方法default StringgetSource(T entity)获取DataSource资源名,为null表示没有分布物理库
新增对象或更新单个对象(DataSource.insert、DataSource.update)时调用本方法StringgetTable(String table, Serializable primary)获取对象的表名
查询单个对象(DataSource.find)时调用本方法获取表名default StringgetTable(String table, FilterNode node)已过时。2.8.0 replaced by getTables(String table, FilterNode node)StringgetTable(String table, T entity)获取对象的表名
新增对象或更新单个对象(DataSource.insert、DataSource.update)时调用本方法获取表名String[]getTables(String table, FilterNode node)获取对象的表名
查询、修改、删除对象(DataSource.find、DataSource.query、DataSource.delete、DataSource.update)时调用本方法获取表名
-
-
-
方法详细资料
-
getSource
default String getSource(Serializable primary)
获取DataSource资源名,为null表示没有分布物理库
查询单个对象(DataSource.find)时调用本方法- 参数:
primary- 记录主键- 返回:
- DataSource资源名
- 从以下版本开始:
- 2.8.0
-
getSource
default String getSource(T entity)
获取DataSource资源名,为null表示没有分布物理库
新增对象或更新单个对象(DataSource.insert、DataSource.update)时调用本方法- 参数:
entity- 实体对象- 返回:
- DataSource资源名
- 从以下版本开始:
- 2.8.0
-
getSource
default String getSource(FilterNode node)
获取DataSource资源名,为null表示没有分布物理库
查询、修改、删除对象(DataSource.find、DataSource.query、DataSource.delete、DataSource.update)时调用本方法- 参数:
node- 过滤条件- 返回:
- DataSource资源名
- 从以下版本开始:
- 2.8.0
-
getTable
String getTable(String table, Serializable primary)
获取对象的表名
查询单个对象(DataSource.find)时调用本方法获取表名- 参数:
table- 模板表的表名primary- 记录主键- 返回:
- 带库名的全表名
-
getTable
String getTable(String table, T entity)
获取对象的表名
新增对象或更新单个对象(DataSource.insert、DataSource.update)时调用本方法获取表名- 参数:
table- 模板表的表名entity- 实体对象- 返回:
- 带库名的全表名
-
getTables
String[] getTables(String table, FilterNode node)
获取对象的表名
查询、修改、删除对象(DataSource.find、DataSource.query、DataSource.delete、DataSource.update)时调用本方法获取表名- 参数:
table- 模板表的表名node- 过滤条件- 返回:
- 带库名的全表名
- 从以下版本开始:
- 2.8.0
-
getTable
@Deprecated(since="2.8.0") default String getTable(String table, FilterNode node)
已过时。2.8.0 replaced by getTables(String table, FilterNode node)获取对象的表名
查询、修改、删除对象(DataSource.find、DataSource.query、DataSource.delete、DataSource.update)时调用本方法获取表名
注意: 需保证FilterNode过滤的结果集合必须在一个数据库表中- 参数:
table- 模板表的表名node- 过滤条件- 返回:
- 带库名的全表名
- 另请参阅:
getTables(java.lang.String, org.redkale.source.FilterNode)
-
-