开发者社区> 问答> 正文

druid的SQLUtils.toSQLExpr只支持select吗?

String sql = "UPDATE T SET C1 = C1 + 1 WHERE C2 = 'a'"; SQLUtils.toSQLExpr(sql);

这样也会报错... 那我是不是只有parseStatements加上指定的dbType一条路了 我只想处理些简单的sql,可不可以有什么办法不要oracle,mysql之类的VisitorAdapter一个个实现过来啊

原提问者GitHub用户scmod

展开
收起
山海行 2023-07-05 20:04:12 83 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    不是的,Druid的SQLUtils.toSQLExpr方法不仅仅支持SELECT语句,还支持其他类型的SQL语句,例如INSERT、UPDATE、DELETE等语句。

    SQLUtils.toSQLExpr方法的作用是将一个SQL语句解析为Druid内部的SQL表达式对象。这个方法支持的SQL语句类型由SQLType枚举类中的枚举值定义,包括:

    SELECT:SELECT语句
    INSERT:INSERT语句
    UPDATE:UPDATE语句
    DELETE:DELETE语句
    REPLACE:REPLACE语句
    MERGE:MERGE语句
    TRUNCATE:TRUNCATE语句
    CREATE:CREATE语句
    ALTER:ALTER语句
    DROP:DROP语句
    RENAME:RENAME语句
    SHOW:SHOW语句
    DESCRIBE:DESCRIBE语句
    EXPLAIN:EXPLAIN语句
    SET:SET语句
    COMMIT:COMMIT语句
    ROLLBACK:ROLLBACK语句
    SAVEPOINT:SAVEPOINT语句

    2023-07-30 14:35:11
    赞同 展开评论 打赏
  • parseStatements的dbType可以指定为null

    原回答者GitHub用户wenshao

    2023-07-06 11:18:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载