知识大全 利用JAVACC将HQL-SQL

Posted 文件

篇首语:我自横刀向天笑,去留肝胆两昆仑。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 利用JAVACC将HQL-SQL相关的知识,希望对你有一定的参考价值。

利用JAVACC将HQL-SQL  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  首先下载JAVACC 编写 jj文件     定义要空开的分隔符    SKIP :        | \\t   | \\n   | \\r   | \\f        定义关键字 from 为HQL的关键字 Teacher是用户输入的类名 应当是一个任意由字母和数字组成的单词 我们可以用正则表达式:[ A Z a z ]来表示     TOKEN: /*RESERVED TOKENS FOR UQL */      <FROM: from >    | <FROM_OBJECT:([ A Z a z ])+ >     接下来定义一下输入的顺序与规范    void expression() :     Token tTable;       (   <FROM>   tTable = <FROM_OBJECT>   )      sqlSB append( SELECT * );   sqlSB append( FROM ) append(tTable image);       最后就是写解析代码 以便生成java代码    PARSER_BEGIN(HQLParser)    import java lang StringBuffer;  import java io StringReader;  import java io Reader;    public class HQLParser       private static StringBuffer sqlSB;    /**    A String based constructor for ease of use    **/    public HQLParser(String s)           this((Reader)(new StringReader(s)));   sqlSB = new StringBuffer();          public String getSQL()          return sqlSB toString();              public static void main(String args[])          try               String query = args[ ];         HQLParser parser = new HQLParser(query);      parser parse();         System out println( SQL: +parser getSQL());            catch(Exception e)               e printStackTrace();                public void parse()       try        expression();      catch(Exception e)              e printStackTrace();              PARSER_END(HQLParser)    接下来到dos下输入:    javacc debug_parser test jj     debug_parser:用来输出语法树    这时候会生成 个java文件 每个文件的作用以后会详细说明    这时候只需要    javac * java即可编译全部的java文件    然后执行java HQLParser from Teacher     这时候屏幕上就会显示出 select * from Teacher cha138/Article/program/Java/JSP/201311/19735

相关参考

知识大全 如何将病毒利用手机QQ传播到手机里

如何将病毒利用手机QQ传播到手机里  以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!如何将病毒利用手机Q

知识大全 利用.NET FileStreams将DTD插入XML文件中

利用.NETFileStreams将DTD插入XML文件中  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 利用RMAN将数据库从文件系统迁移到ASM

利用RMAN将数据库从文件系统迁移到ASM  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一打开

各级教育行政部门将怎样有效利用基础数据库中的数据?

各级教育行政部门将怎样有效利用基础数据库中的数据?教育部通过建设国家教育管理信息系统,在决策支持、业务管理、监测监管、评估评价、公共服务等方面深度应用各类教育基础数据,为深化教育领域综合改革的各项举措

知识大全 利用SQL*Loader将 Excel 数据导出到 Oracle 数据库中

利用SQL*Loader将Excel数据导出到Oracle数据库中  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一

利用起重机将一半埋在地下的对象吊拔出来是属于什么作业?

利用起重机将一半埋在地下的对象吊拔出来是属于什么作业?。A.正常作业B.违章作业C.应预先制定起吊安全措施的危险作业【参考答案】B[拓展知识]机械设备设计时应优先选择哪种安全技术措施?A.直接安全技术

利用起重机将一半埋在地下的对象吊拔出来是属于什么作业?

利用起重机将一半埋在地下的对象吊拔出来是属于什么作业?。A.正常作业B.违章作业C.应预先制定起吊安全措施的危险作业【参考答案】B[拓展知识]机械设备设计时应优先选择哪种安全技术措施?A.直接安全技术

地球表面的绿色植物通过光合作用,将太阳的辐射能量转化成能被其他生物利用的有机化合能。下面的说法错误的是

地球表面的绿色植物通过光合作用,将太阳的辐射能量转化成能被其他生物利用的有机化合能。下面的说法错误的是_____。A、光合作用吸收的主要是太阳光中的绿光B、植物的绿色是反射的太阳光中的绿色C、不同植物

甲某精心准备窃取银行客户密码,晚上在家中利用互联网将客户账上的10万元转入自己的账户。其妻发觉后极力劝阻,甲某悔悟,又将

甲某精心准备窃取银行客户密码,晚上在家中利用互联网将客户账上的10万元转入自己的账户。其妻发觉后极力劝阻,甲某悔悟,又将10万元转入客户的账户。甲某的行为属于_____。A、犯罪中止B、犯罪未遂C、犯

某中学生在上网查询资料时,发现有人正在利用国际互联网泄露国家重要的经济情报,他及时将此事报告了有关部门。这名中学生履行了

某中学生在上网查询资料时,发现有人正在利用国际互联网泄露国家重要的经济情报,他及时将此事报告了有关部门。这名中学生履行了_____。A、维护国家安全的义务B、维护国家统一的义务C、维护民族团结的义务D