`
jeast
  • 浏览: 71387 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

SQL解析类库介绍

 
阅读更多

1. Jsqlparser http://jsqlparser.sourceforge.net/

 

 

       JSqlParser能够解析SQL语句并它翻译成一个Java类层次。它产生的层次可以使用访问者模式导航。

 


2.  SQLJEP http://sqljep.sourceforge.net/

 

       SQLJEP 是一个用来解析和仿真执行SQL语句的Java类库。支持几乎所有 Oracle 和 MaxDB 的函数。SQLJEP 使用 JavaCC 来做词法分析。

使用方法示例:

ResultSet rs = statement.excute("SELECT ID,SUM,SALE_DATE from test");
ResultSetJEP sqljep = new ResultSetJEP("ID in (1,2,3) and SUM>100 and SALE_DATE>trunc(sysdate)-7");
try {
   sqljep.addConstant("sysdate", new java.util.Date());
   sqljep.parseExpression(rs);
   whille (rs.next()) {
      System.out.println(sqljep.getValue());
   }
}
catch (ParseException e) {
   e.printStackTrace();
}

 

 


3.SqlBuilder  http://openhms.sourceforge.net/sqlbuilder/

 

     SqlBuilder 是一个Java的类库,它试图帮你避免在Java程序内直接书写SQL查询的痛苦。你只需要使用 SqlBuilder 的方法,它就可以帮你生成对应的 SQL 数据库查询语句,例如下面一个SQL语句:
String selectQuery = "SELECT " + T1_COL1 + "," + T1_COL2 + "," +  T2_COL1 + " FROM " + TABLE1 + " " + T1 + " INNER JOIN " +  TABLE2 + " " + T2 + " ON (" + T1_IDCOL + " = " + T2_IDCOL +  ") ORDER BY " + T1_COL1;对应的 SqlBuilder 的代码是:

 

String selectQuery =  (new SelectQuery()) .addColumns(t1Col1, t1Col2, t2Col1).addJoin(SelectQuery.JoinType.INNER_JOIN, joinOfT1AndT2)  .addOrderings(t1Col1)  .validate().toString();

 


4.Querydsl  http://www.querydsl.com/

 

    Querydsl是一个Java开源框架用于构建类型安全的SQL查询语句。它采用API代替拼凑字符串来构造查询语句。可跟 Hibernate 和 JPA 等框架结合使用。

 

 

分享到:
评论
1 楼 Fx_demon 2015-02-12  
JSqlParser 怎么把Oracle 查询语句额返回的列字段大写的替换成原来查询的列字段???
如:Select Name from user 查询出Name 字段变成大写的NAME 我想是原来的Name .

相关推荐

    基于java的开发源码-SQL解析类库 SQLJEP.zip

    基于java的开发源码-SQL解析类库 SQLJEP.zip 基于java的开发源码-SQL解析类库 SQLJEP.zip 基于java的开发源码-SQL解析类库 SQLJEP.zip 基于java的开发源码-SQL解析类库 SQLJEP.zip 基于java的开发源码-SQL解析类库 ...

    java资源SQL解析类库SQLJEPjava资源SQL解析类库SQLJEP

    java资源SQL解析类库 SQLJEPjava资源SQL解析类库 SQLJEP提取方式是百度网盘分享地址

    基于Java的实例源码-SQL解析类库 SQLJEP.zip

    `SQLJEP`是一个专门用于Java的SQL解析类库,它允许开发者将SQL表达式嵌入到Java程序中,并进行解析和执行。这个压缩包`基于Java的实例源码-SQL解析类库 SQLJEP.zip`包含了`sqljep-0.2`版本的源代码,对于学习和理解...

    基于Java的实例开发源码-SQL解析类库 SQLJEP.zip

    基于Java的实例开发源码-SQL解析类库 SQLJEP.zip

    基于Java的SQL解析类库 SQLJEP.zip

    "基于Java的SQL解析类库 SQLJEP.zip" 提供了一个解决方案,帮助Java开发者更有效地处理SQL相关任务。 SQLJEP(SQL Java Expression Parser)是一个开源项目,它允许Java程序员将SQL表达式集成到Java程序中,进行...

    java源码:SQL解析类库 SQLJEP.zip

    Java源码:SQL解析类库 SQLJEP是一个用于处理SQL表达式编程的开源库,它在Java环境中提供了强大的SQL解析功能。SQLJEP允许开发者在Java应用程序中动态构建和执行SQL查询,使得程序与数据库之间的交互更为灵活。这个...

    SQL解析类库 SQLJEP.7z

    SQLJEP允许开发者对SQL进行深度分析,从而实现自定义的SQL解析、验证、转换和执行功能。 SQL(Structured Query Language)是一种标准的编程语言,用于管理关系型数据库。它包括数据查询、数据更新、数据插入和数据...

    SQL解析类库 SQLJEP

    1. **SQL解析**:SQLJEP实现了SQL的解析过程,将SQL语句转换为内部表示形式。这个过程包括词法分析(Tokenization)和语法分析(Parsing)。词法分析将SQL字符串分解为一系列有意义的元素(称为令牌),语法分析则...

    基于java的SQL解析类库 SQLJEP.zip

    SQLJEP是一个基于Java的SQL解析库,专为处理和解析SQL语句而设计。它提供了将SQL表达式转化为抽象语法树(AST)的能力,进而可以进行进一步的分析、操作或转换。在Java应用程序中,当需要对用户输入的SQL进行验证、...

    Lambda表达式转SQL语句类库

    Lambda表达式转SQL语句类库 一、可以达到的功能 本功能类库主要提供给代码中使用Lambda表达式,后需转成SQL的条件语句这一需求 二、不能做的 1、本类库不能解析Linq语句 2、不能解析SQL中的Select部分

    小程序 SQL解析类库 SQLJEP(源码).zip

    免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...

    SQL解析类库 SQLJEP源码

    SQLJEP源码的分析可以帮助我们深入理解SQL解析的原理,以及如何在Java应用中实现这一功能。 首先,SQLJEP的核心是基于Java Expression Parser(JEP)库,这是一个强大的表达式解析框架。JEP允许用户自定义语法,...

    自用 c# 操作 xml 和 sqlserver 的类库

    这个自用的C#类库专注于XML处理和SQL Server的交互,这两大主题是现代软件开发中的重要组成部分。 XML(Extensible Markup Language)是一种用于存储和传输数据的标记语言。它具有自我描述性,易于解析,且与平台和...

    C#将Lambda表达式转成Sql语句

    3. **构造SQL语句**:根据解析出的信息,我们可以构造对应的SQL语句片段。例如,`Expression.Equal`可能对应于SQL的`=`,`Expression.Call`可能对应于数据库中的某个函数调用。 4. **处理查询上下文**:在转换过程...

    android类库的详细介绍

    下面,我们将对Android类库中的关键组件进行详细解析,以便更好地理解和运用它们。 #### 1. **`android.app`** `android.app`类库是Android应用的基础,它提供了Activity、Service、BroadcastReceiver和...

    smark类库详细介绍

    **Smark类库详细介绍** Smark是一个强大的、轻量级的类库,主要设计用于简化和加速软件开发过程,特别是对于处理数据解析、文件操作、网络通信等方面的应用。作为一个全面的工具集,Smark提供了丰富的功能,使得...

    c#类库(helper类库)

    ### 二、SqlHelper类库介绍 #### 1. 概述 `SqlHelper`类库是专门用于简化对SQL Server数据库的操作的一种通用类库。它提供了数据库连接管理和SQL命令执行等功能,使得开发人员能够更方便地处理数据库交互任务。 ##...

    一个值得推荐的的基于C#实现的Sql180 Developer程序类库及例子代码

    Sql180 Developer是一个专为开发人员设计的C#程序类库,旨在简化与SQL Server 2018(可能是180的错误表述,通常我们指的是SQL Server 2018)数据库的交互。这个类库提供了丰富的功能,允许开发者高效地执行常见的...

    MysQL操作类库

    5. **结果集处理**:类库会提供方法帮助解析和处理查询结果,如`DBUtility.getRowCount(ResultSet rs)`获取结果集中的行数,`DBUtility.getString(ResultSet rs, int columnIndex)`获取指定列的字符串值。...

    c# 开源运行根据sql脚本生成sql2005数据库

    读取文件可以使用File类或StreamReader类,而解析SQL脚本则可能需要自定义解析器或利用正则表达式提取关键信息。至于用户界面,C#的Windows Forms或WPF可以提供图形化的交互方式,使用户能方便地输入参数和查看执行...

Global site tag (gtag.js) - Google Analytics