简介

JSqlParser是一个SQL语句解析器。它将SQL转换为Java类的可遍历层次结构。
支持Oracle,SqlServer,MySQL,PostgreSQL等常用数据库。但各种数据库系统的SQL语法都在动态变化,可以解析某些(不是全部)。

JSqlParser就是一个把SQL转换为JAVA对象操作的工具包,但是发现此类文章较少,文档也不太详细,所以写个系列博客供参考。

GitHub地址

入门案例

  1. 添加pom
        <dependency>
            <groupId>com.github.jsqlparser</groupId>
            <artifactId>jsqlparser</artifactId>
            <version>4.0</version>
        </dependency>
  1. 测试类
@SpringBootTest
public class JsqlparserTest {

    @Test
    public void testSelect() throws JSQLParserException {
        // 使用工具类把SQL转换为Select对象
        Select select = (Select) CCJSqlParserUtil.parse("SELECT username,age,sex FROM user");
        SelectBody selectBody = select.getSelectBody();
        System.err.println(selectBody);
    }
}

源码结构

在这里插入图片描述

  1. expression:SQL构建相关类,比如EqualsTo、InExpression等表达式用于构建SQL。
    在这里插入图片描述

  2. parser: SQL解析相关类,比如CCJSqlParserUtil。
    在这里插入图片描述

  3. schema:主要存放数据库schema相关的类 ,比如表、列等。
    在这里插入图片描述

  4. statement:封装了数据库操作对象,create、insert、delete、select等
    在这里插入图片描述

  5. util: 各种工具类、不同DB版本、SQL标准等处理类,如SelectUtils、DatabaseType等。
    在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐