类 ParserSupport

java.lang.Object
gu.sql2java.parser.ParserSupport

public class ParserSupport extends Object
  • 嵌套类概要

    嵌套类
    修饰符和类型
    说明
    static class 
     
  • 构造器概要

    构造器
    构造器
    说明
     
  • 方法概要

    修饰符和类型
    方法
    说明
    static String
    countSql(String sql, String countColumn)
    生成 count 查询 SQL,如果sql为空或不是SELECT语句不能生成count语句则返回null
    static String
    countSql(net.sf.jsqlparser.statement.select.Select select, String countColumn)
    生成 count 查询 SQL,如果select为空则返回null
    static boolean
    isBoolean(net.sf.jsqlparser.schema.Column column)
    如果Column没有定义table,且字段名为true/false(不区分大小写)则视为布尔常量
    static net.sf.jsqlparser.statement.Statement
    parse(String sql, net.sf.jsqlparser.parser.CCJSqlParserVisitor visitor, SqlSyntaxNormalizer sqlSyntaxNormalizer)
    实现SQL语句解析,解析成功则返回解析后的Statement, 并通过visitor参数提供基于AST(抽象语法树)的遍历所有节点的能力。
    parse0(String sql, net.sf.jsqlparser.parser.CCJSqlParserVisitor visitor, SqlSyntaxNormalizer sqlSyntaxAnalyzer)
    参照CCJSqlParserUtil.parseAST(String)CCJSqlParserUtil.parse(String)实现SQL语句解析, 解析成功则返回解析后的ParserSupport.SqlParserInfo对象, 并通过visitor参数提供基于AST(抽象语法树)的遍历所有节点的能力。
    static <T> T
    parseComponent(String input, Class<T> targetType)
    调用CCJSqlParser解析SQL语句部件返回解析生成的对象, 使用targetType的类名作为解析方法名
    static <T> T
    parseComponent(String input, String method, Class<T> targetType)
    调用CCJSqlParser解析SQL语句部件返回解析生成的对象,如'ORDER BY id DESC'
    static net.sf.jsqlparser.statement.select.Select
    解析SELECT SQL语句,解析失败或非SELECT语句则抛出异常
    static net.sf.jsqlparser.statement.select.Select
    解析SELECT SQL语句,解析失败或非SELECT语句则

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 构造器详细资料

    • ParserSupport

      public ParserSupport()
  • 方法详细资料

    • parseSelect

      public static net.sf.jsqlparser.statement.select.Select parseSelect(String sql)
      解析SELECT SQL语句,解析失败或非SELECT语句则抛出异常
      参数:
      sql -
    • parseSelectUnchecked

      public static net.sf.jsqlparser.statement.select.Select parseSelectUnchecked(String sql)
      解析SELECT SQL语句,解析失败或非SELECT语句则
      参数:
      sql -
    • countSql

      public static String countSql(net.sf.jsqlparser.statement.select.Select select, String countColumn)
      生成 count 查询 SQL,如果select为空则返回null
      参数:
      select -
      countColumn - 列名,默认 0
    • countSql

      public static String countSql(String sql, String countColumn)
      生成 count 查询 SQL,如果sql为空或不是SELECT语句不能生成count语句则返回null
      参数:
      sql -
      countColumn - 列名,默认 0
    • parse

      public static net.sf.jsqlparser.statement.Statement parse(String sql, net.sf.jsqlparser.parser.CCJSqlParserVisitor visitor, SqlSyntaxNormalizer sqlSyntaxNormalizer) throws net.sf.jsqlparser.JSQLParserException
      实现SQL语句解析,解析成功则返回解析后的Statement, 并通过visitor参数提供基于AST(抽象语法树)的遍历所有节点的能力。
      参数:
      sql - SQL语句
      visitor - 遍历所有节点的SimpleNode接口实例,为null忽略
      sqlSyntaxNormalizer - SQL语句分析转换器,为null忽略
      抛出:
      net.sf.jsqlparser.JSQLParserException - 输入的SQL语句有语法错误
      另请参阅:
    • parse0

      public static ParserSupport.SqlParserInfo parse0(String sql, net.sf.jsqlparser.parser.CCJSqlParserVisitor visitor, SqlSyntaxNormalizer sqlSyntaxAnalyzer) throws net.sf.jsqlparser.JSQLParserException
      参照CCJSqlParserUtil.parseAST(String)CCJSqlParserUtil.parse(String)实现SQL语句解析, 解析成功则返回解析后的ParserSupport.SqlParserInfo对象, 并通过visitor参数提供基于AST(抽象语法树)的遍历所有节点的能力。
      参数:
      sql - SQL语句
      visitor - 遍历所有节点的SimpleNode接口实例,为null忽略
      sqlSyntaxAnalyzer - SQL语句分析转换器,为null忽略
      抛出:
      net.sf.jsqlparser.JSQLParserException - 输入的SQL语句有语法错误
      另请参阅:
      • Node.jjtAccept(CCJSqlParserVisitor, Object)
    • parseComponent

      public static <T> T parseComponent(String input, String method, Class<T> targetType)
      调用CCJSqlParser解析SQL语句部件返回解析生成的对象,如'ORDER BY id DESC'
      类型参数:
      T -
      参数:
      input -
      method - 指定调用的CCJSqlParser解析方法
      targetType - 返回的解析对象类型
      从以下版本开始:
      3.18.3
    • parseComponent

      public static <T> T parseComponent(String input, Class<T> targetType)
      调用CCJSqlParser解析SQL语句部件返回解析生成的对象, 使用targetType的类名作为解析方法名
      从以下版本开始:
      3.18.3
      另请参阅:
    • isBoolean

      public static boolean isBoolean(net.sf.jsqlparser.schema.Column column)
      如果Column没有定义table,且字段名为true/false(不区分大小写)则视为布尔常量
      参数:
      column -