jsqlparser 4.1 and 4.2
public static void main(String[] args) {
String sql = "select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, " +
"m.query, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, " +
"m.order_num, m.create_time " +
"from sys_menu m " +
"where m.menu_type in ('M', 'C') and m.status = 0 " +
"order by m.parent_id, m.order_num ";
try {
Statement statement = CCJSqlParserUtil.parse(sql);
System.out.println(statement.toString());
} catch (JSQLParserException e) {
throw new RuntimeException(e.getCause() + "Failed to process, Error SQL:" + sql);
}
}
run result:
Exception in thread "main" java.lang.RuntimeException: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "." "."
at line 1, column 76.
Was expecting one of:
"&"
","
"::"
";"
"<<"
">>"
"ACTION"
"ALGORITHM"
"ANY"
"ARRAY"
"AS"
"AT"
"BYTE"
"CASCADE"
"CASE"
"CAST"
"CHANGE"
"CHAR"
"CHARACTER"
"COLLATE"
"COLUMN"
"COLUMNS"
"COMMENT"
"COMMIT"
"CONNECT"
"COSTS"
"CYCLE"
"DESC"
"DESCRIBE"
"DISABLE"
"DIV"
"DO"
"DUPLICATE"
"ENABLE"
"END"
"EXCLUDE"
"EXTRACT"
"FALSE"
"FIRST"
"FN"
"FOLLOWING"
"FOR"
"FORMAT"
"FROM"
"GROUP"
"HAVING"
"INDEX"
"INSERT"
"INTERVAL"
"INTO"
"ISNULL"
"JSON"
"KEY"
"LAST"
"LEADING"
"LOCAL"
"MATERIALIZED"
"NO"
"NOLOCK"
"NULLS"
"OF"
"OPEN"
"ORDER"
"OVER"
"PARALLEL"
"PARTITION"
"PATH"
"PERCENT"
"PRECISION"
"PRIMARY"
"PRIOR"
"RANGE"
"READ"
"REPLACE"
"ROW"
"ROWS"
"SCHEMA"
"SEPARATOR"
"SEQUENCE"
"SESSION"
"SIBLINGS"
"SIGNED"
"SIZE"
"SKIP"
"START"
"SYNONYM"
"TABLE"
"TEMP"
"TEMPORARY"
"TIMEOUT"
"TO"
"TOP"
"TRUE"
"TRUNCATE"
"TYPE"
"UNSIGNED"
"VALIDATE"
"VALUE"
"VALUES"
"VIEW"
"WHERE"
"WINDOW"
"XML"
"ZONE"
"["
"^"
"|"
<EOF>
<K_DATETIMELITERAL>
<K_DATE_LITERAL>
<K_NEXTVAL>
<S_CHAR_LITERAL>
<S_IDENTIFIER>
<S_QUOTED_IDENTIFIER>
Failed to process, Error SQL:select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.query, m.visible, m.status, ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time from sys_menu m where m.menu_type in ('M', 'C') and m.status = 0 order by m.parent_id, m.order_num
at com.ruoyi.common.Test.main(Test.java:20)
If I change the code "m.query" to "`m.query`" , it work well, but that "query" is not the mysql key word, so what? how to do
jsqlparser 4.1 and 4.2
run result:
If I change the code "m.query" to "`m.query`" , it work well, but that "query" is not the mysql key word, so what? how to do