JSqlParser transforms a SQL statement into a hierarchy of java classes. Operations on the classes of JSqlParser are executed using the Visitor pattern.
1:Test Code:
try {
Statement stat = (Statement) new CCJSqlParserManager().parse(new StringReader("select 年份,月份,sum(金额) from 订单查询 group by 年份,月份 order by 年份,月份"));
System.out.println(stat);
} catch (Exception e) {
e.printStackTrace();
}
2 in the console print the error messages:
net.sf.jsqlparser.JSQLParserException
at net.sf.jsqlparser.parser.CCJSqlParserManager.parse(CCJSqlParserManager.java:40)
at com.cmcc.cmwb.test.StringToJsonTest.main(StringToJsonTest.java:116)
Caused by: net.sf.jsqlparser.parser.TokenMgrError: Lexical error at line 1, column 9. Encountered: "\u5e74" (24180), after : ""
at net.sf.jsqlparser.parser.CCJSqlParserTokenManager.getNextToken(CCJSqlParserTokenManager.java:1375)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_scan_token(CCJSqlParser.java:5415)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_151(CCJSqlParser.java:4696)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_116(CCJSqlParser.java:4733)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_72(CCJSqlParser.java:4337)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_38(CCJSqlParser.java:4473)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3_5(CCJSqlParser.java:4756)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_2_5(CCJSqlParser.java:3155)
at net.sf.jsqlparser.parser.CCJSqlParser.SelectBody(CCJSqlParser.java:565)
at net.sf.jsqlparser.parser.CCJSqlParser.Select(CCJSqlParser.java:557)
at net.sf.jsqlparser.parser.CCJSqlParser.Statement(CCJSqlParser.java:113)
at net.sf.jsqlparser.parser.CCJSqlParserManager.parse(CCJSqlParserManager.java:38)
... 1 more
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
1:Test Code:
try {
Statement stat = (Statement) new CCJSqlParserManager().parse(new StringReader("select 年份,月份,sum(金额) from 订单查询 group by 年份,月份 order by 年份,月份"));
System.out.println(stat);
2 in the console print the error messages:
net.sf.jsqlparser.JSQLParserException
at net.sf.jsqlparser.parser.CCJSqlParserManager.parse(CCJSqlParserManager.java:40)
at com.cmcc.cmwb.test.StringToJsonTest.main(StringToJsonTest.java:116)
Caused by: net.sf.jsqlparser.parser.TokenMgrError: Lexical error at line 1, column 9. Encountered: "\u5e74" (24180), after : ""
at net.sf.jsqlparser.parser.CCJSqlParserTokenManager.getNextToken(CCJSqlParserTokenManager.java:1375)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_scan_token(CCJSqlParser.java:5415)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_151(CCJSqlParser.java:4696)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_116(CCJSqlParser.java:4733)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_72(CCJSqlParser.java:4337)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3R_38(CCJSqlParser.java:4473)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_3_5(CCJSqlParser.java:4756)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_2_5(CCJSqlParser.java:3155)
at net.sf.jsqlparser.parser.CCJSqlParser.SelectBody(CCJSqlParser.java:565)
at net.sf.jsqlparser.parser.CCJSqlParser.Select(CCJSqlParser.java:557)
at net.sf.jsqlparser.parser.CCJSqlParser.Statement(CCJSqlParser.java:113)
at net.sf.jsqlparser.parser.CCJSqlParserManager.parse(CCJSqlParserManager.java:38)
... 1 more