当前位置: 首页 > news >正文

怎么做水果网站网站建设业务范围

怎么做水果网站,网站建设业务范围,郑州企业建站设计,如何给网站死链接做404目录 前言一、Maven依赖二、获取sql中的表名三、获取sql中的具体信息 前言 JSqlParser是一个 SQL 语句解析器。它将 SQL 语句转换为可遍历的 Java 类层次结构,可以方便的用代码对 SQL 语句进行解析,修改等操作。 官网 api 文档和 github 地址如下&…

目录

  • 前言
  • 一、Maven依赖
  • 二、获取sql中的表名
  • 三、获取sql中的具体信息

前言

JSqlParser是一个 SQL 语句解析器。它将 SQL 语句转换为可遍历的 Java 类层次结构,可以方便的用代码对 SQL 语句进行解析,修改等操作。

官网 api 文档和 github 地址如下:

jsqlparser API 文档

jsqlparser github 地址

一、Maven依赖

        <!-- 4.9版本是适用于jdk8的最后一个版本--><dependency><groupId>com.github.jsqlparser</groupId><artifactId>jsqlparser</artifactId><version>4.9</version></dependency>

二、获取sql中的表名

import net.sf.jsqlparser.JSQLParserException;
import net.sf.jsqlparser.util.TablesNamesFinder;
import java.util.Set;public class MainServer {public static void main(String[] args) throws JSQLParserException {String sql = "SELECT e.employee_id, e.first_name, e.last_name, d.department_name, e.salary " +"FROM employees e " +"LEFT JOIN departments d ON e.department_id = d.department_id " +"WHERE e.salary > ( " +"    SELECT AVG(salary) " +"    FROM staff " +"    WHERE department_id = e.department_id " +");";Set<String> tableNames = TablesNamesFinder.findTables(sql);//输出: staff, departments, employeesSystem.out.println(tableNames);}
}

三、获取sql中的具体信息

import javassist.CannotCompileException;
import net.sf.jsqlparser.JSQLParserException;
import net.sf.jsqlparser.parser.CCJSqlParserUtil;
import net.sf.jsqlparser.statement.Statement;
import net.sf.jsqlparser.statement.select.PlainSelect;
import net.sf.jsqlparser.statement.select.Select;public class MainServer {public static void main(String[] args) throws CannotCompileException, JSQLParserException {String sql = "SELECT DISTINCT e.employee_id, e.first_name, e.last_name, d.department_name, e.salary " +"FROM employees e " +"LEFT JOIN departments d ON e.department_id = d.department_id " +"WHERE e.salary > ( " +"    SELECT AVG(salary) " +"    FROM staff " +"    WHERE department_id = e.department_id " +") " +"GROUP BY d.department_id, e.employee_id, e.first_name, e.last_name, d.department_name, e.salary " +"HAVING COUNT(*) = 1  " +"ORDER BY d.department_name " +"LIMIT 10 OFFSET 20;";Statement statement = CCJSqlParserUtil.parse(sql);//如果是 select 语句if (statement instanceof Select) {Select selectStatement = (Select) statement;PlainSelect plainSelect = selectStatement.getPlainSelect();System.out.println("【DISTINCT 子句】:" + plainSelect.getDistinct());System.out.println("【查询字段】:" + plainSelect.getSelectItems());System.out.println("【FROM 表】:" + plainSelect.getFromItem());System.out.println("【JOIN 子句】:" + plainSelect.getJoins());System.out.println("【WHERE 子句】:" + plainSelect.getWhere());System.out.println("【GROUP BY 子句】:" + plainSelect.getGroupBy());System.out.println("【HAVING 子句】:" +plainSelect.getHaving());System.out.println("【ORDER BY 子句】:" + plainSelect.getOrderByElements());System.out.println("【LIMIT 子句】:" + plainSelect.getLimit());System.out.println("【OFFSET 子句】:" + plainSelect.getOffset());}}
}

输出:

DISTINCT 子句】:DISTINCT
【查询字段】:[e.employee_id, e.first_name, e.last_name, d.department_name, e.salary]FROM 表】:employees e
【JOIN 子句】:[LEFT JOIN departments d ON e.department_id = d.department_id]WHERE 子句】:e.salary > (SELECT AVG(salary) FROM staff WHERE department_id = e.department_id)GROUP BY 子句】:GROUP BY d.department_id, e.employee_id, e.first_name, e.last_name, d.department_name, e.salary
【HAVING 子句】:COUNT(*) = 1ORDER BY 子句】:[d.department_name]LIMIT 子句】: LIMIT 10OFFSET 子句】: OFFSET 20

参考:
JSqlParser实战指南
JSQLParser 解析复杂SQL
JSqlParser入门系列
jsqlparser基本使用

http://www.15wanjia.com/news/167610.html

相关文章:

  • 广东省建设厅网站可以查在哪里创建网站平台
  • 自己做的网站安全吗微信开放平台账号怎么注销
  • 建企业网站多少钱应用中心下载
  • 重庆网站推广系统广告位招商怎么找客户
  • 与众不同的网站wordpress插件禁用
  • 营销型网站的目标东莞网络公司 网站建设
  • 网站建设总结报告包装设计专业
  • 网站建设及维护专业开发公司复工复产工作方案
  • 如何加快百度收录网站宁夏电力建设工程公司外部网站
  • 冠辰网站建设网站怎么发布
  • 备案 网站名称涉及到行业竞价移动网站
  • 检察院做网站的目的别做网络推广员
  • 烟台建设集团网站国内做网站建设知名的公司
  • 网站长春网站建设怎样在阿里云做网站
  • 石家庄制作网站推广wordpress+社交链接
  • 高校校园网站建设与运行公司流程建设的意义
  • 网页制作工具的选择与网站整体风格是有关系的企业网站设计网站
  • 马鞍山网站建设 明达广州网站建设哪个公司做得好些
  • 网站建设合同英文模板下载wordpress云标签
  • 人员调动在网站上怎么做php学生管理系统源码免费
  • 公司网站制作需要多少钱mysql创建WordPress
  • 网站管理后台地址苏州网站建设主页
  • wordpress游戏网站主题个人安装公司怎么注册
  • 宁波网站建站公司商务网页设计与制作干嘛的
  • 网站制作公司北京wordpress id清空
  • 怎么建设网站首页电子商务网站建设与管理相关文献
  • 网站可不可以做自己的专利广西建设厅网站资质查询
  • 无锡seo网站排名优化wordpress 开源app
  • 毕业设计代做淘宝好还是网站好西丽网站建设
  • 邢台兼职网站有哪些?学做实体店网站