模块 org.redkale
程序包 org.redkale.source
数据源(数据库、缓存)操作包
-
接口概要 接口 说明 CacheEventListener<T> CacheSource订阅频道的消费监听器CacheSource Redkale中缓存数据源的核心类。ColumnNode ColumnFuncNode与ColumnExpNode 的接口DataBatch DataSource批量操作对象,操作类型只能是增删改
非线程安全类DataNativeSqlParser 原生的sql解析器
参数变量有三种方式(与Mybatis的占位符类似):
${xx.xx}: 用于直接拼接sql的变量,不做任何转义, 变量值必需的
#{xx.xx}: 用于预编译的sql的参数变量, UPDATE SET中的#{xx.xx}变量自动转成必需的
##{xx.xx}: 用于预编译的sql的参数变量, 变量值必需的 #{xx.xx,yyy}: 用于预编译的sql的带默认值的参数变量, yyy为默认值,当参数不存在时使用默认值DataResultSet java.sql.ResultSet的简化版。DataResultSetRow DataSource DataSource 为数据库或内存数据库的数据源,提供类似JPA、Hibernate的接口与功能。DataSqlMapper<T> 类似Mybatis的Mapper接口类, 接口系列和DataSource相似度高
自定义的sql接口的返回结果类型只能是: void/基本数据类型/JavaBean/Map/List/Sheet
异步接口返回的是泛型为以上类型的CompletableFutureDataSqlMonitor DataSource的监控借口DataSqlSource 关系型sql数据库的数据源, 比DataSource多了操作sql语句的接口。DataTransaction DataSource的事务类
示例:
DistributeTableStrategy<T> 分表分库策略,结合@DistributeTable使用
不能与@Cacheable同时使用
使用分表分库功能重点是主键的生成策略,不同场景生成策略不一样FilterBean FilterBean用于过滤条件, 所有的FilterBean都必须可以转换成FilterNode
标记为@FilterColumn.ignore=true 的字段会被忽略, 不参与生成过滤条件Range<E extends Comparable> 取值范围,包含两边的值SearchQuery SearchQuery用于构建搜索过滤条件
不被标记为@org.redkale.persistence.Transient 的字段均视为过滤条件SearchQuery.SearchHighlight SearchSource 搜索引擎的数据源, 接口与DataSource基本一致。SourceManager source组件的基本管理器 -
枚举概要 枚举 说明 CacheMemorySource.CacheEntryType ColumnExpress 函数表达式, 均与SQL定义中的表达式相同DataNativeSqlInfo.SqlMode FilterExpress 函数表达式, 均与SQL定义中的表达式相同FilterFunc 常见的SQL聚合函数FilterJoinType JOIN表的类别 -
异常错误概要 异常错误 说明 SourceException 数据源自定义异常类 -
注释类型概要 注释类型 说明 DistributeTable Entity分库分表的注解,需要结合DistributeTableStrategy使用
标记为 @DistributeTable的Entity类视为需要进行分库分表操作FilterColumn 过滤字段标记FilterGroup 详情见: https://redkale.orgFilterJoinColumn 关联表过滤条件
关联关系表必须含主表, 不能是主表A关联表B,表B再关联表C,只能是主表A关联表B,主表A关联表CFilterOrs 设置FilterGroup
的OR关系 详情见: https://redkale.orgSearchColumn 已过时。 replaced by org.redkale.persistence.SearchColumnSourceConvert 用于定制Source操作JSON字段的转换策略。SourceType 显式的指明Source多个资源类型。SourceType.SourceTypes VirtualEntity 已过时。 replaced by org.redkale.persistence.VirtualEntity