文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
Java API
简介
Java API 是 ShardingSphere-JDBC 中所有配置方式的基础,其他配置最终都将转化成为 Java API 的配置方式。
Java API 是最复杂也是最灵活的配置方式,适合需要通过编程进行动态配置的场景下使用。
使用方式
创建简单数据源
通过 ShardingSphereDataSourceFactory 工厂创建的 ShardingSphereDataSource 实现自 JDBC 的标准接口 DataSource。
// 构建数据源
Map<String, DataSource> dataSourceMap = // ...
// 构建配置规则
Collection<RuleConfiguration> configurations = // ...
// 构建属性配置
Properties props = // ...
DataSource dataSource = ShardingSphereDataSourceFactory.createDataSource(dataSourceMap, configurations, props);
创建携带治理功能的数据源
通过 GovernanceShardingSphereDataSourceFactory 工厂创建的 GovernanceShardingSphereDataSource 实现自 JDBC 的标准接口 DataSource。
// 构建数据源
Map<String, DataSource> dataSourceMap = // ...
// 构建配置规则
Collection<RuleConfiguration> configurations = // ...
// 构建属性配置
Properties props = // ...
// 构建注册中心配置对象
GovernanceConfiguration governanceConfig = // ...
DataSource dataSource = GovernanceShardingSphereDataSourceFactory.createDataSource(dataSourceMap, configurations, props, governanceConfig);
使用数据源
可通过 DataSource 选择使用原生 JDBC,或JPA, MyBatis 等 ORM 框架。
以原生 JDBC 使用方式为例:
DataSource dataSource = // 通过Apache ShardingSphere 工厂创建的数据源
String sql = "SELECT i.* FROM t_order o JOIN t_order_item i ON o.order_id=i.order_id WHERE o.user_id=? AND o.order_id=?";
try (
Connection conn = dataSource.getConnection();
PreparedStatement ps = conn.prepareStatement(sql)) {
ps.setInt(1, 10);
ps.setInt(2, 1000);
try (ResultSet rs = preparedStatement.executeQuery()) {
while(rs.next()) {
// ...
}
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论