是用java 开发的解析器, 可以生成java类层次结构.

主页地址:

http://jsqlparser.sourceforge.net

可以完美解析 表的 增删查改等操作.

展开它的源码你会发现.基本不用看api就可以使用,因为它是如此的类似sql

只要你会java 只要你会写sql 那么你就会使用 jsqlparser .

例如: 查询sql 他会解析成 select 类. 该对象 包含有表名, 字段名, where 子句表达式.

这个是查询的where子句调试截图:

相应的还有很多,只要你在sql中能找到的关键字.他都有相应的获取方式和调用. 就等你慢慢发掘了.

更新sql 解析成: update 类 . 对象包含表明,字段,where 子句表达式..

如下图所示:

Jsqlparser源码结构:

官方的jar包只支持jdk1.6. 因为其中用上的string类的 isEmpty()方法. 但是jdk1.5中并没有该方法.

所以本人就改了下.其实感觉官方没有必要使用jdk1.6的. 仅仅因为一个方法的调用.而牺牲掉了更多的1.5平台应用.

得不偿失.

嘿嘿

附上本人的工程. 基于上面写了个简单的测试 . 在testsrc 下的 ly包中. 是一个解析where子句的. 目的是要做一个sql和

lucene 转换器. 将sql语法解析成lucene 查询语法. 这个测试例子只是简单的解析了where子句.功能不全.但是思想都在.

目的是将繁琐不太结构话的 sql语句. 变成java 层次对象.

源码及测试工程下载:

jsqlparser.7z

SQL 语法解释器jsqlparser的更多相关文章

  1. [Android新手区] SQLite 操作详解--SQL语法

    该文章完全摘自转自:北大青鸟[Android新手区] SQLite 操作详解--SQL语法  :http://home.bdqn.cn/thread-49363-1-1.html SQLite库可以解 ...

  2. SQLite的SQL语法

    SQLite库能够解析大部分标准SQL语言.但它也省去了一些特性而且增加了一些自己的新特性.这篇文档就是试图描写叙述那些SQLite支持/不支持的SQL语法的.查看keyword列表. 例如以下语法表 ...

  3. SQLite的 SQL语法总结

    SQLite库可以解析大部分标准SQL语言.但它也省去了一些特性并且加入了一些自己的新特性.这篇文档就是试图描述那些SQLite支持/不支持的SQL语法的.查看关键字列表. 如下语法表格中,纯文本用蓝 ...

  4. 00-SQLite的SQL语法

    SQLite的SQL语法 SQLite库可以解析大部分标准SQL语言.但它也省去了一些特性并且加入了一些自己的新特性.这篇文档就是试图描述那些SQLite支持/不支持的SQL语法的.查看关键字列表. ...

  5. Hive SQL语法总结

    Hive是一个数据仓库基础的应用工具,在Hadoop中用来处理结构化数据,它架构在Hadoop之上,通过SQL来对数据进行操作. Hive 查询操作过程严格遵守Hadoop MapReduce 的作业 ...

  6. SQL 语法速成手册

    本文针对关系型数据库的一般语法.限于篇幅,本文侧重说明用法,不会展开讲解特性.原理. 一.基本概念 数据库术语 数据库(database) - 保存有组织的数据的容器(通常是一个文件或一组文件). 数 ...

  7. 值得注意的ibatis动态sql语法格式

    一.Ibatis常用动态sql语法,简单粗暴用一例子 <select id="iBatisSelectList" parameterClass="java.util ...

  8. Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等)

    Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等) 子查询 描述:查询订单数超过5的顾客信息 查询句法: var 子查询 = from c i ...

  9. SQL 语法总结

    学了一个月的java,开始有入门的感觉.这段时间接触到了java的JDBC, 发现学习这部分的内容还是要有SQL的基础,于是花费了几天时间学习了一下SQL语法,并将其总结于下. 选择数据 SELECT ...

  10. SQL语法和运算符(一)

    一个数据库通常包含一个或多个表.每个表由一个名字标识,表包含带有数据的记录(行). 一些最重要的SQL命令(SQL对大小写不敏感): 一.SQL语法 select:从数据库中提取数据 update:更 ...

随机推荐

  1. 总结:redis 突然变慢

    用户量暴增,无法下单,凌晨的夜,静悄悄... 经过查找发现Redis. 获取不到连接资源,并且集群中的单台 Redis 连接量很高. 大量的流量没了 Redis 的缓存响应,直接打到了 MySQL,最 ...

  2. 合合信息智能文字识别产品通过中国信通院“可信AI—OCR智能化服务”评估

    近年来,我国对数据的重视程度不断加强.2022年1月,国务院印发的<"十四五"数字经济发展规划>进一步提出,到2025年要初步建立数据要素市场体系,并对充分发挥数据要素 ...

  3. ASP.NET Core Library – MailKit SMTP Client

    前言 以前写的 SMTP Client 相关文章: Asp.net core 学习笔记 ( Smtp and Razor template 电子邮件和 Razor 模板 ) ASP.NET Email ...

  4. MySQL服务无法启动 服务没有报告任何错误

    安装MYSQL后 启动服务 出现错误 在启动MySQL服务时 出现该报错 解决方法: 将原本在MySQL根目录下的my.ini文件移动到bin目录下(my.ini文件参考:这里)    删除根目录下的 ...

  5. Vue3——集成 sass

    安装 sass npm install sass sass-loader -D 使用 scss 语法!!!需要加上 lang="scss" <style scoped lan ...

  6. SpringBoot 实现文件上传

    参考:Java springboot进阶教程 文件上传功能实现 后端代码编写 常见错误分析与解决 在 Service 业务层接口中增加一个上传文件的方法 因为文件并不是上传至数据库中,所以不需要编写 ...

  7. 2020年度国产数据库:openGauss

    根据墨天轮2020年一年的数据库流行度得分趋势变化,我们选出了流行热度增长显著的数据库为2020年度国产数据库.恭喜 华为开源关系型数据库 openGauss 荣获 "2020年度国产数据库 ...

  8. style 标签写在body 前后的区别?

    知识储备:了解浏览器渲染页面的流程 a)首先 , 解析(parse)html 标签 , 获取DOM 树 b)解析html 的同时 , 解析css  , 获得样式规则 (style rules) CSS ...

  9. 在实例化对象的时候new关键字具体做了哪些操作?

    a 创建了一个空对象 {}b 通过原型链把空对象和构造函数连接起来__proto__ = prototype c 构造函数的this指向新对象,并执行函数体 d 判断构造函数的返回值,返回对象就使用该 ...

  10. vant2 List 组件 下拉加载 onLoad

    ps:loading finished onLoad 两个变量一个函数 : async onLoad() { console.log("onload"); // 异步更新数据 // ...