在sql中使用函數,遇到net.sf.jsqlparser.parser.ParseException異常

異常詳情以下java

 

Caused by: net.sf.jsqlparser.parser.ParseException: Encountered " "->" "-> "" at line 1, column 31.
Was expecting one of:
<EOF>
"AS" ...
"DO" ...
"ANY" ...
"KEY" ...
……(中間省略不少符號)

at net.sf.jsqlparser.parser.CCJSqlParser.generateParseException(CCJSqlParser.java:13996)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:13852)
at net.sf.jsqlparser.parser.CCJSqlParser.Statement(CCJSqlParser.java:78)
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parse(CCJSqlParserUtil.java:52)
... 99 moregit

 

參考 https://blog.csdn.net/weixin_36146275/article/details/79355544github

定位緣由爲:在sql語句中使用了IF函數,缺乏sql解析工具的jar包sql

 

解決方案:在pom.xml文件中添加關於jsqlparser的依賴,注意必須使用0.9以上的版本,不然運行時會報錯函數

 

<!--必須使用0.9以上的版本-->
<dependency>
    <groupId>com.github.jsqlparser</groupId>
    <artifactId>jsqlparser</artifactId>
    <version>1.4</version>
</dependency>
相關文章
相關標籤/搜索