首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有java解析器可以模拟mysql服务器解析器?

有没有java解析器可以模拟mysql服务器解析器?
EN

Stack Overflow用户
提问于 2012-11-11 14:17:15
回答 2查看 235关注 0票数 0

我为mysql编写了一个数据库中间件。我需要确定sql语句、isRead语句或isWrite语句,并提取模式和表信息。我通过google找到的一些解析器只能解析DML语句。但我需要一个解析器可以解析mysql服务器所能做的所有语句。

你认为我直接在java中调用mysql解析器是个好主意,还是可行呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-11 15:42:32

你认为我直接在java中调用mysql解析器是个好主意,还是有可能呢?

不,我不认为这是个好主意。从Java中调用C/ C++代码并不是一个好主意。在这种情况下,解析器嵌入到一大堆其他代码中,并且很可能能够将其分离出来。最重要的是,它将解析树作为复杂的原生数据结构发出,这将很难在Java中使用。

一种更好的方法是采用现有的用于SQL的开源Java解析器,并(随着时间的推移)添加对特定于MySQL语句的解析支持。

票数 0
EN

Stack Overflow用户

发布于 2017-03-20 05:16:04

你可能会考虑使用阿里巴巴Druid project中的代码。尽管该项目被设计为一个复杂的连接池类库,但它支持ANSI SQL和非ANSI方言(如MySQL、Oracle、SQL Server等)的非常高级的parser and AST

库的这一部分的主要入口点是SQLUtils.java

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13329040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档