当前位置:网站首页>终于可以一行代码也不用改了!ShardingSphere 原生驱动问世
终于可以一行代码也不用改了!ShardingSphere 原生驱动问世
2022-07-06 11:29:00 【InfoQ】
一、背景
二、痛点
三、契机
四、实现
org.apache.shardingsphere.driver.ShardingSphereDriver
- 以
jdbc:shardingsphere
: 为前缀
- 配置文件:
xxx.yaml
,配置文件格式与 YAML 配置一致
- 配置文件加载规则:
- 无前缀表示从绝对路径加载配置文件
- classpath: 前缀表示从类路径中加载配置文件
五、使用步骤
Class.forName("org.apache.shardingsphere.driver.ShardingSphereDriver");
String jdbcUrl = "jdbc:shardingsphere:classpath:config.yaml";
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 = DriverManager.getConnection(jdbcUrl);
PreparedStatement ps = conn.prepareStatement(sql)) {
ps.setInt(1, 10);
ps.setInt(2, 1000);
try (ResultSet rs = preparedStatement.executeQuery()) {
while(rs.next()) {
// ... }
}
}
String driverClassName = "org.apache.shardingsphere.driver.ShardingSphereDriver";
String jdbcUrl = "jdbc:shardingsphere:classpath:config.yaml";// 以 HikariCP 为例 HikariDataSource dataSource = new HikariDataSource();
dataSource.setDriverClassName(driverClassName);
dataSource.setJdbcUrl(jdbcUrl);
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()) {
// ... }
}
}
- JDBC 驱动
六、结语
边栏推荐
- 如何提高网站权重
- R语言使用dt函数生成t分布密度函数数据、使用plot函数可视化t分布密度函数数据(t Distribution)
- 快速幂模板求逆元,逆元的作用以及例题【第20届上海大学程序设计联赛夏季赛】排列计数
- C language daily practice - day 22: Zero foundation learning dynamic planning
- Use map function and split function to type multiple elements in one line
- Solution of intelligent management platform for suppliers in hardware and electromechanical industry: optimize supply chain management and drive enterprise performance growth
- test about BinaryTree
- Pychrm Community Edition calls matplotlib pyplot. Solution of imshow() function image not popping up
- 三面蚂蚁金服成功拿到offer,Android开发社招面试经验
- USB host driver - UVC swap
猜你喜欢
How to type multiple spaces when editing CSDN articles
能源行业的数字化“新”运维
【论文笔记】TransUNet: Transformers Make StrongEncoders for Medical Image Segmentation
打家劫舍III[后序遍历与回溯+动态规划]
Don't miss this underestimated movie because of controversy!
MRO工业品企业采购系统:如何精细化采购协同管理?想要升级的工业品企业必看!
[depth first search] Ji suanke: Square
Openmv4 learning notes 1 --- one click download, background knowledge of image processing, lab brightness contrast
Documents to be used in IC design process
PMP practice once a day | don't get lost in the exam -7.6
随机推荐
时钟轮在 RPC 中的应用
test about BinaryTree
R language ggplot2 visual time series histogram: visual time series histogram through two-color gradient color matching color theme
Detailed idea and code implementation of infix expression to suffix expression
应用使用Druid连接池经常性断链问题分析
业务与应用同步发展:应用现代化的策略建议
Documents to be used in IC design process
MATLAB中deg2rad和rad2deg函数的使用
Word如何显示修改痕迹
驼峰式与下划线命名规则(Camel case With hungarian notation)
QPushButton绑定快捷键的注意事项
Use of deg2rad and rad2deg functions in MATLAB
The nearest library of Qinglong panel
test about BinaryTree
pychrm社区版调用matplotlib.pyplot.imshow()函数图像不弹出的解决方法
Pychrm Community Edition calls matplotlib pyplot. Solution of imshow() function image not popping up
QLabel 跑马灯文字显示
R language ggplot2 visualization: use the ggstripchart function of ggpubr package to visualize the grouped dot strip plot, and set the add parameter to add box plots for different levels of dot strip
Dark horse -- redis
深入分析,Android面试真题解析火爆全网