项目版本:
springboot 2.7.2
mybatis-plus 3.5.2
jsqlparser 4.6
该版本下mybatis-plus生成的sql文件带有连续\n\n\n
CCJSqlParserUtil.parseStatements("select \n\n\n * from \n\n dual \n")
再使用jsqlparser进行sql解析时 会出现如下报错
net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "from" "FROM"
at line 1, column 11.
Was expecting one of:
"CONNECT"
"EMIT"
"GROUP"
"HAVING"
"INTO"
"START"
"WINDOW"
<EOF>
<ST_SEMICOLON>
但其实是因为\n\n\n会导致一句sql被解析为两句sql 从而导致无法正常解析sql的问题 该问题不知道是因为mybatis-plus未注意到该问题 从而导致的sql文件输出异常。还是jsqlparser应该支持这种语法导致的。
实际在项目过程中是如下报错:
net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "\n\n\n"
目前我的解决方案为替换sql文本中所有的\n。
标签:报错,jsqlparser,v4.6,sql,mybatis,plus,解析 From: https://www.cnblogs.com/dkpp/p/17812677.html