Skip to content

如何修改SQL添加条件

gyk001 edited this page Jun 13, 2016 · 1 revision

SQLParser之后得到AST(抽象语法树)之后,可以修改AST来添加条件。Druid在1.0.15版本后提供了一个易于使用的工具类方法:

com.alibaba.druid.sql.SQLUtils.addCondition(String, String, String)

使用如下:

Assert.assertEquals("SELECT *" //
        + "\nFROM t" //
        + "\nWHERE id = 0", SQLUtils.addCondition("select * from t", "id = 0", null));

Assert.assertEquals("SELECT *" //
        + "\nFROM t" //
        + "\nWHERE id = 0" //
        + "\n\tAND name = 'aaa'", SQLUtils.addCondition("select * from t where id = 0", "name = 'aaa'", null));
Clone this wiki locally