ShardingSphere-JDBC使用笔记
warning:
这篇文章距离上次修改已过192天,其中的内容可能已经有所变动。
import org.apache.shardingsphere.infra.config.properties.ConfigurationProperties;
import org.apache.shardingsphere.infra.context.metadata.MetaDataContexts;
import org.apache.shardingsphere.infra.context.runtime.RuntimeContext;
import org.apache.shardingsphere.infra.database.DefaultSchema;
import org.apache.shardingsphere.infra.executor.kernel.ExecutorEngine;
import org.apache.shardingsphere.infra.metadata.ShardingSphereMetaData;
import org.apache.shardingsphere.infra.optimize.context.OptimizerContext;
import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
import org.apache.shardingsphere.mode.manager.ContextManager;
import org.apache.shardingsphere.mode.metadata.MetaDataContextsBuilder;
import org.apache.shardingsphere.transaction.TransactionType;
import org.apache.shardingsphere.transaction.context.TransactionContexts;
import org.apache.shardingsphere.transaction.core.TransactionTypeHolder;
// 示例代码,仅用于展示如何构建ShardingSphereMetaData
public class ShardingSphereMetaDataExample {
public static void main(String[] args) {
// 构建配置属性
ConfigurationProperties properties = new ConfigurationProperties(...);
// 构建ShardingSphereMetaData
ShardingSphereMetaData metaData = new ShardingSphereMetaData(
"ds0",
mockDatabaseMetaData(),
mockResource(),
mockRuleMap(),
properties
);
// 构建OptimizerContext
OptimizerContext optimizerContext = new OptimizerContext(...);
// 构建RuntimeContext
RuntimeContext runtimeContext = new RuntimeContext(
metaData,
mockExecutorEngine(),
optimizerContext,
mockTransactionContexts()
);
// 构建MetaDataContexts
MetaDataContexts metaDataContexts = new MetaDataContexts(mockDefaultMetaDataMap(), runtimeContext);
// 构建ContextManager
ContextManager contextManager = new ContextManager(metaDataContexts, mockTransactionEngine(), mockAuthentication());
// 初始化ContextManager
contextManager.init();
// 使用contextManager进行数据库操作...
}
评论已关闭