Interface DatabaseService
- All Superinterfaces:
AutoCloseable,RepositoryFactory
数据库服务接口。
提供数据库操作的核心服务,包括仓库管理、表操作、事务管理、持久化上下文管理等功能。
- Since:
- 1.0.0
- Version:
- 1.0.0
- Author:
- Berry_so
-
Method Summary
Modifier and TypeMethodDescriptionvoidclear()清除持久化上下文。void清除所有仓库缓存。voidclearRepositoryCache(Class<?> entityClass) 清除指定实体类的仓库缓存。boolean检查实体是否在持久化上下文中。void从持久化上下文中分离实体。void删除表。voiddropTables(Class<?>... entityClasses) 批量删除表。void在事务中执行操作(无返回值)。<R> RexecuteInTransaction(TransactionFunction<R> action) 在事务中执行操作(有返回值)。voidflush()刷新持久化上下文。获取所有已缓存的仓库类型。<T,K extends CompositeKey>
CompositeKeyRepository<T, K> getCompositeKeyRepository(Class<T> entityClass) 获取复合主键仓库。获取数据库配置。获取连接池。<R extends MagstarRepository>
RgetCustomRepository(Class<R> repositoryClass) 获取自定义仓库。获取数据库信息。获取数据库方言。获取实体映射器。获取持久化上下文。<T,ID> Repository <T, ID> getRepository(Class<T> entityClass) 获取标准仓库。获取仓库工厂。获取 SQL 构建器。获取统计信息。voidinitializeTable(Class<?> entityClass) 初始化表。voidinitializeTables(Class<?>... entityClasses) 批量初始化表。booleanisClosed()检查数据库服务是否已关闭。boolean检查数据库服务是否健康。booleanisRepositoryCached(Class<?> entityClass) 检查指定实体类的仓库是否已缓存。<T> Tmerge(T entity) 合并实体到持久化上下文。void刷新实体状态。<T,K extends CompositeKey>
voidregisterCompositeKeyRepository(Class<T> entityClass, CompositeKeyRepository<T, K> repository) 注册复合主键仓库。<R extends MagstarRepository>
voidregisterCustomRepository(Class<R> repositoryClass, R repository) 注册自定义仓库。<T,ID> void registerRepository(Class<T> entityClass, Repository<T, ID> repository) 注册标准仓库。voidshutdown()关闭数据库服务。void测试数据库连接。Methods inherited from interface java.lang.AutoCloseable
closeMethods inherited from interface top.magstar.framework.database.repository.RepositoryFactory
createCompositeKeyRepository, createCompositeKeyRepository, createCustomRepository, createRepository, createRepository
-
Method Details
-
getRepository
获取标准仓库。如果仓库尚未创建,则自动创建并缓存。
- Type Parameters:
T- 实体类型ID- 主键类型- Parameters:
entityClass- 实体类的 Class 对象- Returns:
- 标准仓库实例
-
getCompositeKeyRepository
<T,K extends CompositeKey> CompositeKeyRepository<T,K> getCompositeKeyRepository(Class<T> entityClass) 获取复合主键仓库。如果仓库尚未创建,则自动创建并缓存。
- Type Parameters:
T- 实体类型K- 复合主键类型- Parameters:
entityClass- 实体类的 Class 对象- Returns:
- 复合主键仓库实例
-
getCustomRepository
获取自定义仓库。- Type Parameters:
R- 仓库类型- Parameters:
repositoryClass- 仓库类的 Class 对象- Returns:
- 自定义仓库实例
-
registerRepository
注册标准仓库。- Type Parameters:
T- 实体类型ID- 主键类型- Parameters:
entityClass- 实体类的 Class 对象repository- 仓库实例
-
registerCompositeKeyRepository
<T,K extends CompositeKey> void registerCompositeKeyRepository(Class<T> entityClass, CompositeKeyRepository<T, K> repository) 注册复合主键仓库。- Type Parameters:
T- 实体类型K- 复合主键类型- Parameters:
entityClass- 实体类的 Class 对象repository- 复合主键仓库实例
-
registerCustomRepository
注册自定义仓库。- Type Parameters:
R- 仓库类型- Parameters:
repositoryClass- 仓库类的 Class 对象repository- 自定义仓库实例
-
initializeTable
初始化表。根据实体类定义创建数据库表。如果表已存在,则不执行任何操作。
- Parameters:
entityClass- 实体类的 Class 对象
-
initializeTables
批量初始化表。- Parameters:
entityClasses- 实体类的 Class 对象数组
-
dropTable
-
dropTables
批量删除表。警告:此操作将删除所有指定的表及其数据。
- Parameters:
entityClasses- 实体类的 Class 对象数组
-
flush
void flush()刷新持久化上下文。将持久化上下文中的所有待处理更改同步到数据库。
-
clear
void clear()清除持久化上下文。清空持久化上下文,使所有托管态实体变为游离态。
-
detach
-
contains
检查实体是否在持久化上下文中。- Parameters:
entity- 要检查的实体- Returns:
- 如果实体在持久化上下文中返回 true,否则返回 false
-
merge
<T> T merge(T entity) 合并实体到持久化上下文。- Type Parameters:
T- 实体类型- Parameters:
entity- 要合并的实体- Returns:
- 托管态的实体实例
-
refresh
-
executeInTransaction
-
executeInTransaction
在事务中执行操作(有返回值)。- Type Parameters:
R- 返回值类型- Parameters:
action- 事务函数- Returns:
- 操作结果
-
clearRepositoryCache
void clearRepositoryCache()清除所有仓库缓存。 -
clearRepositoryCache
清除指定实体类的仓库缓存。- Parameters:
entityClass- 实体类的 Class 对象
-
isRepositoryCached
检查指定实体类的仓库是否已缓存。- Parameters:
entityClass- 实体类的 Class 对象- Returns:
- 如果已缓存返回 true,否则返回 false
-
getCachedRepositoryTypes
-
getDatabaseInfo
-
getStatistics
-
isHealthy
boolean isHealthy()检查数据库服务是否健康。- Returns:
- 如果服务健康返回 true,否则返回 false
-
testConnection
-
shutdown
void shutdown()关闭数据库服务。释放所有资源,包括连接池、缓存等。
-
getConnectionPool
-
getDialect
-
getEntityMapper
-
getSqlBuilder
-
getPersistenceContext
-
getRepositoryFactory
-
getConfig
-
isClosed
boolean isClosed()检查数据库服务是否已关闭。- Returns:
- 如果已关闭返回 true,否则返回 false
-