我不确定这个功能是否存在,所以我想借助他人的智慧来解决问题。
我想知道是否有任何Java库可以用于验证SQL查询语句的语法。我知道有许多与常见SQL规范的偏差,因此它可能只适用于类似于SQL:2006的内容,但这肯定足够了。
我的目标是将其用于单元测试,而不需要尝试执行针对数据库的查询。我知道它的使用受到限制,但仍然有用。
谢谢!
我不确定这个功能是否存在,所以我想借助他人的智慧来解决问题。
我想知道是否有任何Java库可以用于验证SQL查询语句的语法。我知道有许多与常见SQL规范的偏差,因此它可能只适用于类似于SQL:2006的内容,但这肯定足够了。
我的目标是将其用于单元测试,而不需要尝试执行针对数据库的查询。我知道它的使用受到限制,但仍然有用。
谢谢!
General SQL Parser 可以进行 离线SQL语法检查。支持的数据库包括:Oracle、DB2、MySQL、SQL Server、Teradata和PostgreSQL。
试试JSQL解析器。
除了验证外,您还可以获得查询的有意义的表示。
这使您可以仅接受“特定”命令;操作查询,“美化”它等。
Apache Derby 是一个完全使用 Java 实现的开源 SQL 数据库,可在 Apache License, Version 2.0 下使用。它曾经被称为 IBM Cloudscape。
您可以尝试重用其解析代码,位于 org.apache.derby.impl.sql
中。
使用JOOQ,您将永远不会在SQL中犯错误。Java编译器会为此负责。