我现在想做个分析sql的程序,把结果存到一个结构里面,不知道谁用过这样的功能?网上应该有现成的jar吧?
比如:select t1.c1,t2.c2 from t1,t2 where t1.cl=t2.c2
分析后把要查询的字段名,查询的表名,及条件等都存到一个数据结构里
{selectColumns:[c1,c2],tables:[t1,t2],conditions:{……}}
类似这样的功能
分不够可以在加,欢迎指导

解决方案 »

  1.   

    有必要么?真要自己做的话建议参考下hibernate的类
    public class HibernateTemplate extends HibernateAccessor implements HibernateOperations public List find(final String queryString, final Object[] values) throws DataAccessException {
    return (List) executeWithNativeSession(new HibernateCallback() {
    public Object doInHibernate(Session session) throws HibernateException {
    Query queryObject = session.createQuery(queryString);
    prepareQuery(queryObject);
    if (values != null) {
    for (int i = 0; i < values.length; i++) {
    queryObject.setParameter(i, values[i]);
    }
    }
    return queryObject.list();
    }
    });
    }
      

  2.   


    很古怪的需求,没碰到过,自己写if判断被,不过SQL语句灵活多变,把每种写法都考虑进去实属不易
      

  3.   

    我自己也觉得需求古怪,但没其他办法。用户维护一个sql,我需要知道他用到了那些表,那些字段,那些条件,只能分析了。自己写太费事,很可能考虑不全,所以想看看有没有现成的
      

  4.   

    没有听说有这方面的jar而且你分析的时候 要把经常用的增删改查等操作都考虑进去用正则 或者 自己对字符串操作处理都可以
      

  5.   


    一般情况下的维护是将sql语句写到日志中去