发新话题
打印

用jsqlparser过滤数据集,使用sql 查询的语法

用jsqlparser过滤数据集,使用sql 查询的语法

如果你有一个行列形式的数据集,比如说,二维数组,你想用 sql 兼容的语法过滤数据,该怎么办? 我的答案是用 jsqlparser 结合 beanshell(bsh)来做到。

以下是简表中, 过滤一个csv数据集的示例,供大家参考。思路是采用jsqlparser的visitor编程模型,分析一行是否满足 where表达式。
复制内容到剪贴板
代码:
上面代码的输出
复制内容到剪贴板
代码:

TOP

WhereExpressionVisitor.java 源码
复制内容到剪贴板
代码:

TOP

Statement stat = new CCJSqlParserManager().parse(new StringReader(
sql));

Update update = (Update) stat;
有了这个,就好办了,在jsqlparser的源代码里可以看到,update对象里,有很多东西,是你需要的

public class Update implements Statement {
private Table table;
private Expression where;
private List columns;
private List expressions;

TOP

好了就好

TOP

我帮你看一下,你只需要取到下图所示的 LikeExpression 那个实例就行了. 怎么样取到这个实例,你懂的.
附件: 您所在的用户组无法下载或查看附件

TOP

你问的是不是9# 楼的那个贴图,这个贴图是eclipse的调试窗口噢!

TOP

使用eclipse的单步调试即可.

TOP

中文不能解析,请参照这里:
http://bbs.jatools.com/viewthread.php?tid=561&extra=page%3D1

TOP

(orgcode,grpcustno) in ...不能这么用吧? 只能用一个字段吧。

TOP

可以在myeclipse上运行的,放心.

TOP

发新话题