基于jsqlparser做javacc二次开发

标签: Java 数据库 java javacc | 发表时间:2012-06-19 14:40 | 作者:yiihsia
出处:http://www.yiihsia.com

jsqlparser是个开源的sql解析方案,基于javacc,提供比较全面的sql解析和反转,对于复杂的sql解析可以基于它扩展。 http://jsqlparser.sourceforge.net/

最简单的实现,就是传入一条sql,jsqlparser解析后返回一个对象。我们只需要操作这个对象就行,一般都能满足需求,但是有时间还不能满足,需要自己扩充同时不能影响原来的解析。

罗列下扩展的地方:

1、不支持中文

2、不支持Create Database语法

3、不支持Alter Table语法

4、drop table语法中不支持table带scheme

修改后的jj文件下载地址: http://code.google.com/p/my-jsqlparser/downloads/list

使用方式:

1、替换原来net.sf.jsqlparser.parser目录下的JSqlParserCC.jj文件

2、在eclipse下点击该文件选择compile with javacc

3、运行原来工程的单元测试,是否有异常

 

 

猜你喜欢:
javacc lookahead 教程
Nio Server, Nio Client, Echo Worker, Server Data Event Java code example
Java堆外内存泄露浅谈
MongoDB java语法
Java线程学习笔记之Executor
无觅

相关 [jsqlparser javacc 开发] 推荐:

基于jsqlparser做javacc二次开发

- - yiihsia[互联网后端技术]_yiihsia[互联网后端技术]
jsqlparser是个开源的sql解析方案,基于javacc,提供比较全面的sql解析和反转,对于复杂的sql解析可以基于它扩展. 最简单的实现,就是传入一条sql,jsqlparser解析后返回一个对象. 我们只需要操作这个对象就行,一般都能满足需求,但是有时间还不能满足,需要自己扩充同时不能影响原来的解析.

SQL语法解析器JSQLParser

- - 非技术 - ITeye博客
SQL 语法解释器jsqlparser. 是用java 开发的解析器, 可以生成java类层次结构.. 可以完美解析 表的 增删查改等操作.. 展开它的源码你会发现.基本不用看api就可以使用,因为它是如此的类似sql. 只要你会java 只要你会写sql 那么你就会使用 jsqlparser ..

Android开发Tips

- - CSDN博客推荐文章
欢迎Follow我的 GitHub, 关注我的 CSDN.. 介绍一些, 在Android开发中, 会经常使用的小知识点.. submodule与git可以保持实时同步. 导入, 路径多于一个, 前面不添加冒号(:).. 使用PackageManager.. // 检查App是否安装 private boolean appInstalledOrNot(String uri) {.

WPS for Linux 开发中

- Quantum - Wow! Ubuntu
据消息称,WPS for Linux 办公套件目前正在开发中,如图:. # 本文采用CC协议进行授权,转载本文请注明本文链接. - Twitter / 微博 / 问答 / 投稿 / 加入我们 wow0slx6bcs721xo1udcc. - 高性价比 Ubuntu VPS / 本站架设于 PhotonVPS / 定制 Ubuntu T-Shirt.

iOS开发资源

- - Starming星光社最新更新
iOS App UI 欣赏、分享精美的App界面设计. iOS代码实例搜索、iOS特效示例、iOS代码例子下载. 以web的形式提供iOS UI设计的素材,你可以在web上拖动一些控件做出简单的ios 应用效果,并且生成一个URL,能分享给其他人. 一款 Photoshop 插件,由 UI Parade 推出的一款针对iOS UI 的设计工具,设计师动动鼠标即可制作精美的 iOS 应用原型.

开发笔记(1)

- liuce.cn - 云风的 BLOG
折腾了好久,终于可以开始正式项目开发了. 之前的这段日子,我们陷落在公司的股权分配问题中,纠结于到底需要几个人到位才启动;更是反复讨论,到底应该做个怎样的游戏. 林林总总,终于,在已经到位的几位同学的摩拳擦掌中,叮当决定自己挂帅开始干了. 就这么不到十个人,空旷的办公室,跟我们起先想像的情况不太一样.

Jenkins的plugin开发

- - CSDN博客研发管理推荐文章
       Jenkins强大的功能主要靠其丰富的plugin体现,之前的一篇博客《 Jenkins安装plugin》中介绍了如何找到并安装需要的plugin. 虽然目前已经有大量非常优秀的plugin可供使用,但是有时候仍需要自己开发一些满足项目特殊要求的plugin. 下面通过一个简单实例,介绍Jenkins的plugin的整个开发过程.

kettle 开发总结

- - CSDN博客推荐文章
2.在用file exists 控件的时候,当用到“文本文件输入”时,文本文件中需要一定的格式,类似下图:. ;当然也可以已经创建了相应的表,然后直接按“确定”按钮就行,如果相应的表和输入的列数及列属性不一样时,也可以在sql按钮的语句中取修改. 在使用file exists时,输入也可以用表输入.

kafka开发实例

- - 互联网 - ITeye博客
//启动zookeeper server (用&是为了能退出命令行):. //启动kafka server: . 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

浅说Flux开发

- - 淡忘~浅思
前段时间,写了篇关于React的文件: React:组件的生命周期,比较详细的说了下React组件的生命周期. 说道 React,很容易可以联想到 Flux. 今天以 React 介绍及实践教程 一文中的demo为示例,简单说说 Flux 的开发方式. Flux 是 Facebook 用户建立客户端 Web 应用的前端架构, 它通过利用一个单向的数据流补充了 React 的组合视图组件.