druid解析器介绍参考:Druid SQL 解析器概览 - 邱明成 - 博客园 (cnblogs.com)
不说废话直接上代码:
maven依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.12</version>
</dependency>
回调接口(个人比较倾向使用这种方式):
/**
* @description 替换表名回调
* @modified By
*/
public interface IReplaceCallback {
/**
* 获取新的表名
*
* @param originTable
* @return
*/
String getNewTable(String originTable);
}
自定义Visitor
/**
* 自定义Visitor ,这里是MySQL,其他数据库请自行更换
**/
public class MyReplaceTableVisitor extends MySqlASTVisitorAdapter {
private final IRe