知识大全 利用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传播到手机里 以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!如何将病毒利用手机Q
知识大全 利用.NET FileStreams将DTD插入XML文件中
利用.NETFileStreams将DTD插入XML文件中 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一
利用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