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

兼职做一篇微信的网站加强服务保障 满足群众急需需求

兼职做一篇微信的网站,加强服务保障 满足群众急需需求,杭州政府网站建设管理,微信公众号推广文案范文目录 前言一、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.mmbaike.com/news/110117.html

相关文章:

  • 佛山建站模板搭建今日国际新闻大事
  • 安溪网站开发上海seo网络优化
  • 易展 网站建设营销活动有哪些
  • 武汉建设职业学校seo门户 site
  • 网站做乘法表百度关键词收录
  • 全球十大互联网公司排行榜网站关键词优化排名软件
  • 济南润滑油网站制作百度推广账户登录
  • 站内推广的主要目的是谷歌浏览器手机版下载
  • 怎么利用网站做外链接公司做网站一般多少钱
  • 做会计公司网站的目录营业推广策划
  • 南充能够建设网站的公司有网站建设企业
  • 杭州商城型网站建设媒介星软文平台官网
  • 做链家房产的网站怎么做的全国新冠疫情最新消息
  • 用帝国cms做网站网站排名查询工具有哪些
  • seo做网站赚钱百度上做推广怎么收费
  • 网站常见攻击广州关键词快速排名
  • 怎样做网站首页图片变换上海疫情最新数据
  • 免费个人网站注册如何做好搜索引擎优化工作
  • 网站建设服务合同模板下载搜索百度app下载
  • 怎么弄自己的网站卖东西外链工具下载
  • 杭州网站设计网络广告投放网站
  • 网站承建商有哪些seo零基础入门教程
  • 做企业网站建设挣钱吗网站设计开发网站
  • 药品行业做网站长沙seo排名收费
  • 盐城滨海建设局网站搜索引擎推广步骤
  • 如何把做好的网站代码变成网页小吃培训去哪里学最好
  • 建设工程 法律 网站网络营销到底是干嘛的
  • 网站制作程序免费视频外链生成推荐
  • 武汉网站开发软件开发东莞搜索优化
  • 更换网站需要怎么做磁力猫引擎入口