jsqlparper不支持中文问题,整理的一下解决过程。
关于javacc和.jj文件的介绍:https://www.ibm.com/developerworks/cn/xml/x-javacc/part1/
事件原因:id只支持以a-z,A-Z字符开始的串,解决是加上相应的uni code字符
1.下载jsqlparper的源码:https://github.com/JSQLParser/JSqlParser/releases 可选择用的版本号
2.在JSqlParser-jsqlparser-0.9.3\src\main\javacc\net\sf\jsqlparser\parser下修改JSqlParserCC.jj文件:注意添加绿色部分。
TOKEN:
{
< S_IDENTIFIER: ( <LETTER> )+ ( <DIGIT> | <LETTER> |<SPECIAL_CHARS>)* >
| < #LETTER:
["a"-"z",
"A"-"Z",
"\u0024",
"\u0041"-"\u005a",
"\u005f",
"\u0061"-"\u007a",
"\u00c0"-"\u00d6",
"\u00d8"-"\u00f6",
"\u00f8"-"\u00ff",
"\u0100"-"\u1fff",
"\u3040"-"\u318f",
"\u3300"-"\u337f",
"\u3400"-"\u3d2d",
"\u4e00"-"\u9fff",
"\uf900"-"\ufaff"] >
3.下载:JAVACC5.0(https://java.net/projects/javacc/downloads/download/javacc-5.0.zip),解压,命令行转到bin目录,拷贝一份JSqlParserCC.jj到bin目录
4.在控制台输入: javacc JSqlParserCC.jj
把JSqlParserCC.jj文件生成的六个.java文件考到net.sf.jsqlparser.parser包下面去。
5.自带pom.xml,用mvn package生成JSqlParser-jsqlparser-0.9.3的jar包。
生成好的jar包+文档+源码:http://pan.baidu.com/s/1c0HaePy