论坛首页 Java企业应用论坛

分享一个java sql解析器--General SQL Parser for Java

浏览 18077 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (18) :: 隐藏帖 (4)
作者 正文
   发表时间:2012-03-08  
icefishc 写道
除了解析sql外还有个取巧的办法。。。
把这些sql真正的跑一遍, 然后分析输出结果


要是还要跑一遍就不用找这个解析器了呀。
0 请登录后投票
   发表时间:2012-03-08  
看见.com就不想看了
0 请登录后投票
   发表时间:2012-03-08  
theoffspring 写道
icefishc 写道
除了解析sql外还有个取巧的办法。。。
把这些sql真正的跑一遍, 然后分析输出结果


要是还要跑一遍就不用找这个解析器了呀。

不是在你的程序里跑。是额外写一个脚本。
0 请登录后投票
   发表时间:2012-03-08  
theoffspring 写道
string2020 写道
干啥的,没看懂。。


55,写的挺明白的,为什么没看懂。可能应用场景不是很多吧。

当你使用ibatis,并想根据sql语句生成一个vo时,你就会理解这个解析器的作用了。ibatis需要vo和列名的对应关系。

这个不需要解析sql的,只要jdbc中有个东东叫ResultSetMetaData
0 请登录后投票
   发表时间:2012-03-08  
finallygo 写道
theoffspring 写道
string2020 写道
干啥的,没看懂。。


55,写的挺明白的,为什么没看懂。可能应用场景不是很多吧。

当你使用ibatis,并想根据sql语句生成一个vo时,你就会理解这个解析器的作用了。ibatis需要vo和列名的对应关系。

这个不需要解析sql的,只要jdbc中有个东东叫ResultSetMetaData

to lz. 你瞧这位先生和我观点一样。。。
0 请登录后投票
   发表时间:2012-03-09  
我们在HIVE的语法上加工,支持ORACLE。基于ANTLR
0 请登录后投票
   发表时间:2012-03-09  
后端数据库如果有做分表的话会用到吧,比如根据请求的SQL语句做查询路由,就要分析出查询条件,根据条件定位到要具体物理表,就是不知道性能怎么样。
像淘宝的Amoeba貌似用的是sqljep
0 请登录后投票
   发表时间:2012-03-09  
pan_java 写道
我们在HIVE的语法上加工,支持ORACLE。基于ANTLR


antlr也是可以的,估计这些开源的或商业有解析器都是基本于它实现的,有现成的还是用现成的吧。
0 请登录后投票
   发表时间:2012-03-09   最后修改:2012-03-09
icefishc 写道
finallygo 写道
theoffspring 写道
string2020 写道
干啥的,没看懂。。


55,写的挺明白的,为什么没看懂。可能应用场景不是很多吧。

当你使用ibatis,并想根据sql语句生成一个vo时,你就会理解这个解析器的作用了。ibatis需要vo和列名的对应关系。

这个不需要解析sql的,只要jdbc中有个东东叫ResultSetMetaData

to lz. 你瞧这位先生和我观点一样。。。


我的应用场景是不连接DB就要分析出来,何况,sql是带参数的,你不在应用程序里执行,如何获得参数,通过rsmd得到,任何一个人都会想到的。
0 请登录后投票
   发表时间:2012-03-09  
min5 写道
后端数据库如果有做分表的话会用到吧,比如根据请求的SQL语句做查询路由,就要分析出查询条件,根据条件定位到要具体物理表,就是不知道性能怎么样。
像淘宝的Amoeba貌似用的是sqljep


这个性能肯定要受不少影响,弄个压力测试软件跑一下就能知道。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics