JAVA全系列 教程
3762个小节阅读:7088.1k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
Inline是可以简化数据节点和分片算法配置信息,主要是解决配置简化、配置一体化。
inline 表达式说明
${begin..end} 表示范围区间,${[unit1, unit2, unitX]} 表示枚举值。inline 表达式中连续多个 ${⋯} 表达式,整个 inline 最终的结果将会根据每个子表达式的结果进行笛卡尔组合,例如正式表 inline 表达式如下:
xxxxxxxxxx
dbtbl_${['online', 'offline']}_${1..3}
dbtbl_$->{['online','offline']}_$->{1..3}
最终会解析为 dbtbl_online_1,dbtbl_online_2,dbtbl_online_3,dbtbl_offline_1,dbtbl_offline_2和dbtbl_offline_3 这 6 张表。
数据节点配置
字符串中使用 ${} 来嵌入 groovy 代码,下面的表达式中 data_source_ 是字符串前缀,id % 2 + 1 是 groovy 代码。
xxxxxxxxxx
data_source_${id % 2 + 1}
结果为:data_source_1、data_source_2
db0,db1,每个库下面都有order0,order1两张表,行表达式配置如下
xxxxxxxxxx
db${0..1}.order${0..1}
db0下面有order0,order1两张表,db1下面有order2,order3,order4四张表,配置如下
xxxxxxxxxx
db0.order${0..1},db1.order${2..4}
实时效果反馈
2. 下列ShardingJdbc不支持的sql语句是哪个?
A SELECT * FROM (SELECT * FROM t_order) o WHERE o.order_id = 1;
B SELECT USER_id,USER_NAME, (CASE WHEN SEX=1 THEN '男' WHEN SEX=2 THEN '女' END) AS SEX FROM SYS_USER
C SELECT * FROM t_order o INNER JOIN t_order_item i ON o.order_id = i.order_id WHERE o.order_id = 1;
D SELECT * FROM t_order_item i RIGHT JOIN t_user_role r ON i.user_id = r.user_id WHERE i.user_id = 1;
答案
2=>B