强制路由
Hint 在读写分离场景下,主要用于强制在主库进行某些数据操作。
- 调用 获取 HintManager 实例;
- 调用
HintManager.setWriteRouteOnly()
方法设置主库路由标记; - 执行 SQL 语句完成路由和执行;
- 调用
HintManager.close()
清理 ThreadLocal 中的内容。
使用手动编程的方式
获取 HintManager
设置主库路由
使用 hintManager.setWriteRouteOnly 设置主库路由。
清除分片键值
完整代码示例
使用 SQL 注释的方式
使用规范
SQL Hint 功能的注释格式暂时只支持 /* */
,内容需要以 开始,属性名为 WRITE_ROUTE_ONLY
。
完整示例
使用 Hint 路由至指定数据库
使用手动编程的方式
获取 HintManager
设置路由至指定数据库
- 使用
hintManager.setDataSourceName
设置数据库名称。
完整代码示例
使用 SQL 注释的方式
使用规范
SQL Hint 功能目前只支持路由至一个数据源。 注释格式暂时只支持 /* */
,内容需要以 开始,属性名为 DATA_SOURCE_NAME
。 如果使用 MySQL
客户端连接需要添加 -c
选项保留注释,客户端默认是 过滤注释。